Customer data never crosses to DataDam
The proxy runs in your environment, with your credentials, against your data. The control plane only sees metadata: rollup counts, top-N names, latency percentiles. No query content, no row values, no PII ever leaves your environment. This is contractual, not best-effort.
Per-org row-level security, enforced at the database
Every org-scoped table in the control plane carries FORCE ROW LEVEL SECURITY. Every API query runs inside a per-org transaction context. Even if application code misfires, the database refuses cross-org reads. Belt and suspenders.
Immutable audit log
The audit rollup is append-only at the application layer and SHA-256 hash-chained for tamper evidence. Each rollup row carries the hash of the previous row, so a deletion or modification breaks the chain. Configurable retention per org, exportable to your SIEM.
Salted, per-org hashing
Mask mode HASH uses sha256(per_org_salt + value). A leaked rainbow table for one org cannot be reused against another. Without a synced salt, the proxy substitutes a process-local random fallback so HASH never ships raw sha256(value).
SSO with CSRF protection
SSO callbacks verify a state cookie via crypto.timingSafeEqual. The state cookie is HttpOnly, SameSite=Lax, scoped to /auth, single-use. Login-CSRF and session-fixation patterns fail before the callback even sees the code.
Encrypted session cookies
dd_access and dd_refresh cookies are HttpOnly, AES-256-GCM encrypted with a key from AWS Secrets Manager, never reach JavaScript. A custom Lambda authorizer reads and decrypts on every request.
Cross-org intelligence is opt-in and k-anonymized
Cross-org peer benchmarks are off by default. When an Owner enables sharing, aggregates are written without org_id and only when at least five contributing orgs share the same cohort. No cohort smaller than k = 5 is ever published.
No LLM in the governance loop
Policy decisions, trust scoring, anomaly detection, threat correlation, and recommendations are deterministic. Every decision traces back to a rule, threshold, or policy line. We use LLMs nowhere in the path that says yes or no to a request.
LLM egress scanning, including image attachments
Agent traffic to Anthropic, OpenAI, and Gemini routes through the same proxy. Every outbound prompt is scanned for PII, secrets, and operator-authored patterns before it reaches the vendor. Image attachments run through an in-proxy detection pipeline: text in screenshots gets the same scan as text in prompts, and detected regions are painted over with black rectangles before forwarding. CPU and GPU versions ship the same coverage; operators that don't accept images can disable the path entirely via the console.
No vendor lock-in
Contracts use an open data-contract standard. The runtime policy engine and customer-facing SDKs ship under permissive open-source licenses. If DataDam ever goes away, the policy engine and the contracts you authored survive: keep the proxy running, point it at your own audit pipeline. You own your governance posture.