Skip to main content

Multi-site aquaculture software with access control and audit trail

AquaOS is multi-site aquaculture software with access control and an audit trail built into the production record. A group runs its farms as subsidiary accounts under one parent, each farm holds its sites, systems and growing units, departments decide who can read or write which units, and every write that moves fish is logged and can be reverted under a check. A manager at head office and a worker at the pond use the same record with different rights.

  • Subsidiary accounts under one parent
  • Read or write per department
  • Every fish movement logged
  • Month close refuses backdated writes

How does AquaOS control access across sites and subsidiaries?

Five mechanisms, each enforced on the server rather than hidden in the interface: the account hierarchy, the site structure, departments, per-function permissions, and scoped API access keys.

Subsidiary accounts under one parent

A group holds its farms as child accounts under a parent account, and the platform keeps the full line of ancestry for each one.

A head-office user works inside a subsidiary as themselves rather than through a shared login, so the record shows the person, not a generic account.

Sites, systems and growing units

Each farm is structured as sites, the systems inside them, and the tanks, raceways, ponds and incubators inside those.

Batches, readings, alarms and reports attach to that structure, so a report runs for one pond, one system or one site without being rebuilt.

Departments: read or write per group of units

A department is a group of growing units and the people who work them, and each membership is read or write.

A user can hold the hatchery at write and grow-out at read at the same time. A user with no department is unscoped and sees what their account permissions allow, so a single farm never has to configure departments to get started.

Read, write and delete per function

Permissions are granted per user and per function, as separate read, write and delete rights, and the platform records who granted each one.

A user can only grant rights they hold themselves, which stops a site manager from creating an account with more authority than their own.

API access keys scoped below their owner

Each access key carries its own subset of permissions and can never exceed what its owner holds.

Every request made with a key is logged against that key, so an integration has its own trail, separate from the people who use the interface.

Integrations and REST API

What the audit trail and the controls hold

The log is written in the same transaction as the change it describes, and the controls refuse the write rather than warn after it.

Every write that moves fish is logged

Stocking, splits, transfers, merges, sorts, mortality, harvest and hand-off each produce an operation record with its targets, written in the same transaction as the stock movement they caused.

Revert is self-service, checked and logged

An operation can be reverted from the log. The platform first checks that the current state still allows it, restores the captured inverse in one transaction, and records the revert as an operation of its own.

A reviewed month stays closed

A manager locks a past month and the platform refuses any backdated write into it, inside the write itself rather than by convention. The current month can never be locked, so daily work is never blocked.

Food safety gates follow the fish

An open withdrawal period travels with the fish through a split, and a quarantined cohort cannot be handed off, harvested or sold, with no override path.

Sign-in is protected

Passwords are stored hashed, a temporary password must be changed at first sign-in, password reset runs through an emailed link, and sign-in attempts are rate limited.

Exports leave with the data

Reports and the feed matrix export to XLSX, and the per-pond report prints to PDF, so an auditor or a bank receives a document rather than a login.

Frequently asked questions

Can one company run several farms under one AquaOS account?

Yes. A group holds each farm as a subsidiary account under a parent account. Users at the parent work inside a subsidiary as themselves, and each farm keeps its own sites, units, species settings and reports.

Does AquaOS have role-based access control?

Access is granted per user and per function as separate read, write and delete rights, rather than from a fixed list of roles, and departments narrow which growing units a person can read or write. A user can only grant rights they hold themselves, and the platform records who granted each permission.

Is there an audit trail of changes?

Yes. Every write that moves fish is recorded in an operations log with who did it, when, and which units and batches it touched. A logged operation can be reverted after a check, and the revert is itself logged. A locked month refuses backdated writes.

Can API access be limited to specific data?

Yes. Each access key carries its own subset of permissions, never more than its owner holds, and every request made with it is logged against the key.

Does a single farm have to configure all of this?

No. A single farm with no departments and no subsidiaries runs on the same platform with every user unscoped. The controls are there when the operation grows into them.

See AquaOS on your operation

Bring a real production scenario. AquaOS is walked through on your operation, not a canned dataset.