Access control, audit and data integrity are generated into every application from the model, and enforced on the server for every request, whichever client sends it.
Signing in gets a person through the door. What they may touch is decided, request by request, by three independent checks.
A role reaches a table only through the windows it has been granted, read-only or read-write, exactly as the Application Dictionary describes it.
The model's access rules restrict create, read, update and delete per entity and role. Rules are additive, so adding one never opens anything else.
A lifecycle move the diagram never drew does not exist, for anyone, including administrators. Moves given to roles are pressed only by those roles.
Deactivating an account or its role withdraws access at once, even on tokens already issued. Sign-in refuses a disabled account exactly as it refuses a wrong password.
Every account change checks, after applying itself, that an active administrator remains, and rolls back if not. Nobody can deactivate, lock or delete themselves.
Changing roles, grants or the dictionary needs the administrator role. Reading the dictionary stays open because it describes data, never contains it.
If an access rule cannot be read, because of a timeout or an outage, the request is refused. A restriction that disappears under load is not a restriction.
Changes to audited tables are recorded in a trail where each entry carries the hash of the one before. Editing or deleting an entry breaks the chain from that point, and verification reports where.
The built-in chat never writes a record and never sees a credential, cookie, raw URL or SQL. People save in the application's own screens, under the same checks as always.
Applications run on your servers with your PostgreSQL. AI features point at the model endpoint you choose, including models you host yourself.
Generated suites sign in as an ordinary role and as no one at all, so a missing check fails a test the day it is introduced.
Every refusal carries a catalogued code and a request reference for support. Unexpected server errors keep their details in the log, not in the response.
We will walk your security and compliance team through the access model, the audit trail and how the platform is tested.