Saying “we don't store your prompts” is easy. This page is the working version: every surface in our stack where a prompt or completion could persist, the specific control on each, and how that control is verified. It is the internal audit we run against every code change, published as-is — including the surfaces we do not control.
| # | Surface | Control | Verified by |
|---|---|---|---|
| 1 | Gateway application logs | A whitelist enforced in code: a non-whitelisted field name raises rather than logs. Values are scalar-coerced and length-capped. | Sentinel sweep; unknown-field rejection test |
| 2 | Exception messages and tracebacks | Errors record the exception class name only, never its text — exception strings routinely embed request fragments. The catch-all handler returns a generic body. | Dedicated test asserting exception text is never logged |
| 3 | HTTP access logs | Disabled at the server. The error log carries no bodies. | Deploy config review |
| 4 | Usage database | The schema has no content columns. Not empty ones — none exist, and adding one is forbidden at the source. | Test dumps every row and asserts sentinels absent |
| 5 | Third-party library debug logs | HTTP client and ORM loggers are pinned to WARNING even if the root log level is lowered, so a debug flag cannot start echoing bodies. | Code review of logging setup |
| 6 | Crash dumps and core files | Core dumps disabled at the container level. | Deploy config review |
| 7 | Inference engine request logging | Request-payload logging is disabled by the launch scripts. The flag name has been renamed upstream before, so deploys grep for it. | Deploy smoke test greps the flag |
| 8 | Engine disk spooling | The engine does not spool request content to disk; local NVMe holds model weights only. | Image review at pin time |
| 9 | TLS terminator logs | Access logging explicitly discarded. | Deploy config review |
| 10 | URLs and query strings | Content travels in POST bodies only and is never placed in a URL; the gateway logs no query strings. | Code review |
| 11 | Test-harness output | Harnesses run synthetic, self-generated traffic only. There are no production traffic captures to point them at, by rule. | Operating rule |
| 12 | Prefix and KV caches | Accelerator memory only. Evicted during normal serving, cleared on restart, never serialized to storage. | Engine config review |
| 13 | Host swap | Swap is disabled on the gateway and on serving nodes, so process memory holding a request cannot be paged to disk. | Provisioning check at node acceptance |
Three surfaces sit outside our software. We would rather name them than let the table imply a completeness it doesn't have.