One list of what is scoped
The record families that belong to a customer — knowledge objects, resolved entities, documents, dashboards, alert rules, signals, cases, reports — are enumerated in a single module. Adding a table that should be scoped is a one-line change there rather than an audit of every handler that might touch it.
WORKSPACED_TABLESThe narrowing parameter can only narrow
A caller may ask to see less. Naming an organization other than their own does not widen the result: a tenant user is bound server-side to their own organization regardless of what they pass.
?organization=Two admin tiers, no second role
An admin with no organization is a cross-tenant super-user; an admin with one is scoped to it. An organization admin cannot mint a global admin, move a user between organizations, or edit the shared base ontology.
isGlobalAdmin · isOrgAdminAgents are principals, not exceptions
The MCP server threads the API key’s principal into the same handlers the REST routes use. There is no agent-shaped path around the checks, and a token’s reach is bounded by the role of the user who minted it.
MCP dispatchAn append-only audit log, written on the way past
Every mutation is recorded as it happens — who, what action, which record, and from where — by the middleware every route passes through. Entity, ontology, connector, token and alert-rule changes all land in the same log, and a retention job sweeps expired events and dead sessions on a schedule.
auditOne account, one hash
Argon2id credentials, verified against a shared identity database so a single account works across every Djinious application, and sessions as a JWT signed with HMAC-SHA256. Roles are admin, user and viewer; server-side checks live next to the handlers, and the UI mirrors them but is never the enforcement.
Argon2id · JWTWhere the edges are
Records and time series live in two stores, so a metrics query can be momentarily behind the records it was derived from. Connector-driven ingestion runs outside a request context and does not stamp organization on the objects it writes; a deployment that ingests per-customer scopes them explicitly.
stated limits