Security
The model, stated plainly, including what we do not hold and do not claim.
Credentials
| Credential | What it is | Rules |
|---|---|---|
| cdb_ project key | Project-wide server credential for the data plane. | Shown once at creation; stored hashed; server-side only; never in a browser, mobile app, or log. Rotation and revocation are control-plane operations. A revoked key fails closed. |
| user_id | A partition key selecting one end-user's memory space. | Not end-user authentication. Your server names partitions; we enforce the boundary between projects and orgs. |
| console session | Human sign-in for the dashboard. | Host-only, Secure, HttpOnly, SameSite=Strict cookie via a server-side BFF; CSRF-checked mutations; project keys never reach JavaScript. |
Isolation
Orgs, projects, and user partitions are separated by construction and verified by tests that replay observed identifiers across scopes. A project key cannot address another project's data, in the same org or across orgs. Cross-scope resource IDs return 404: existence does not leak.
PII posture
PII is detected and encrypted before any embedding call, on every plan. The data plane refuses to start without an encryption key. A missing key is fatal, never a silent downgrade. Memory content, queries, and PII are never written to logs.
Audit
Every mutation and recall appends to a hash-chained audit log. Decisions carry evidence IDs, policy version, and request ID. A failed chain verification quarantines the scope rather than papering over it.
What we do not hold or claim
- We do not hold a SOC 2 report or any compliance certification today.
- No BAA is offered today.
- No uptime SLA, HA topology, region list, RPO/RTO, or latency numbers are claimed or published.
- The hosted service is internal alpha; nothing here is a compliance posture statement.
Report a vulnerability
Email gaurav@saaslabs.co with the
subject ContextDB security. SDK issues can also be filed at
the public tracker.