Tenant isolation
Every record is scoped to three identifiers:- Tenant — the organization,
- Workspace — a workspace within the tenant,
- User — the owning person.
tenant_id, workspace_id, and user_id, and queries must filter by at least
tenant_id — preventing cross-tenant leakage by construction.
PII removal in durable records
Personal data is scrubbed at intake — the same scrubbing logic runs in both the ingest backend and the read API, so the durable decision ledger and API responses do not carry raw PII.A generated report with PII redacted
Large-payload offloading
Rather than keeping large request/response bodies inline in the database, Enfors offloads them to secure object storage and references them by key. This keeps the ledger lean and limits where sensitive content can live.Data residency, encryption & retention
RLS policy definitions and a full security/IT review package are available on request — see
Deployment & Security.
Authentication
- Enfors UI authenticates users via SSO (with enterprise SSO — Google and Okta OIDC). See SSO.
- The MCP server is protected by OAuth 2.0 / SSO. See MCP overview.
- Ingest endpoints use API-key / internal authentication.
Privacy and isolation are defaults, not options. There is no configuration required to
get tenant scoping or PII scrubbing — they are always on.