Skip to content

Security & engineering

Access control is a schema decision, not a UI decision

A system that hides a button but still returns the record is not secure. Every Cyclotron build enforces authorisation at the data layer, so what a user cannot see, they cannot retrieve — through the interface, through an export, or through an AI assistant.

Least privilege by default

Every user, service and agent receives the narrowest access that lets them do their job. Access is granted explicitly and reviewed, not inherited by convenience.

Row-level access control

Authorisation is enforced at the data layer, not by hiding interface elements. A user who cannot see a record cannot retrieve it through any route, including AI retrieval.

Auditability

Consequential actions are recorded with actor, timestamp, prior value and basis. Audit trails are designed in at the schema level rather than added later.

Human approval for consequential AI actions

Agents may read, analyse, prepare and route freely. Actions that move money, create external commitments, change permissions or delete data pass through a person.

Staged deployment

Changes move through development and staging environments with review before production. Releases are reversible and recorded.

Backups and recovery

Automated backups with tested restoration, and a documented recovery expectation agreed before go-live rather than discovered during an incident.

Privacy by design

We collect the minimum data a workflow requires, define retention at design time, and keep personal data out of logs and prompts unless there is a stated reason.

Portable code and data

You own the source and the data, in standard formats, with a documented path to move them. No component of your system exists only inside a tool you cannot leave.

Documented integrations

Every integration has a written contract: direction, fields, failure behaviour, retry semantics and the owner on each side.

Architecture

Where each control lives

Controls are placed at the lowest possible layer, so they cannot be bypassed by a new interface, an integration or an agent added later.

Data layer
PostgreSQL with row-level security policies as the primary authorisation boundary.
Identity
Managed authentication with role tables kept separate from user profiles to prevent privilege escalation.
Application
Typed end to end, server-validated inputs, no trust placed in client-supplied ownership claims.
AI layer
Retrieval scoped by the same permissions as the interface; agent actions gated by explicit approval steps.
Delivery
Development, staging and production environments with reviewed, reversible releases.
Recovery
Automated backups with tested restoration and a recovery expectation agreed before go-live.

Due diligence

Happy to answer the hard questions early.

If your security or compliance team needs specifics before a project starts, bring them into the first conversation rather than the last.