Principle
PII flows through the system once and is destroyed. It never sits at rest in our databases, never appears in logs, and is never embedded in LLM prompts.The lifecycle
Invariants
SensitiveDatadoes NOT implementDebug,Display,Serialize, orCloneSensitiveDataDOES implementZeroizeandZeroizeOnDrop- No function that accepts
&SensitiveDatamay log, serialize, or persist it - The Anthropic API request body containing the form data is TLS 1.3 and is not logged locally
- If the Computer Use session fails, the
SensitiveDatais dropped; the user must re-enter for retry (no cached PII)
Screenshot redaction
Computer Use sessions capture screenshots at every step. Screenshots from EIN filings pass through a PII Redactor before storage:- Known-sensitive regions (SSN field, address field, DOB field) are blacked out
- OCR pass detects any PII-pattern strings; regions containing hits are blacked out
- If the redactor is unable to confidently identify PII regions, the entire screenshot is discarded (not stored)
Logging
Zero PII in logs at any level — TRACE, DEBUG, INFO, WARN, ERROR. This is enforced by:Debugnot implemented forSensitiveData- Structured logging framework (
tracing) with explicit field-level redaction for any candidate-PII fields - Pre-commit hook scanning for common PII patterns in log statements
Incident response
If PII is accidentally logged, it’s a P0 incident:- Log is immediately rotated out of storage
- All historical logs scrubbed for matching patterns
- Affected customer notified within 24 hours
- Security incident filed with our SOC 2 auditor