Committed seeds and fixtures contain no real-looking PII
Why it matters
SOC 2 C1.1 requires identifying and protecting confidential information, and a git repository is the leakiest place personal data can live: it is cloned to every laptop, mirrored to CI runners, shared with contractors, and immortal in history even after deletion. Real customer rows exported into a seed file "just to have realistic test data" are a confidentiality breach an auditor will flag on day one, and the pattern is common in AI-built projects because coding assistants happily paste a production query result into prisma/seed.ts when asked for sample data. Unlike a leaked key, leaked PII cannot be rotated: once an email address, SSN, or card number is in history, the exposure is permanent. This check evidences SOC 2 C1.1 by verifying that committed data files use synthetic, reserved-domain, or documented-test values only.
Severity rationale
Medium because committed PII is a real confidentiality exposure with permanent git-history persistence, but exploitation requires repo access and the blast radius is bounded by how much data was committed, unlike a live credential.
Remediation
Replace real values in seeds and fixtures with synthetic data: use @faker-js/faker configured to emit reserved documentation domains (faker.internet.email({ provider: 'example.com' })), the 555-01XX fictional phone range, and processor-published test card numbers (Stripe's 4242424242424242). Purge already-committed real values from git history with git filter-repo (history persistence is the actual exposure, not just the current tree), then add a secret/PII scanning step to CI so regressions are caught at commit time.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the SOC 2 Technical Readiness Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- soc2:2017 · C1.1 — Identification and protection of confidential information
- iso-27001:2022 · A.8.33 — Test information
Taxons
History
- 2026-07-03·v1.0.0·Initial soc2-readiness v1.0.0 authoring — deterministic real-PII detection in committed seeds/fixtures/test data, evidencing SOC 2 C1.1 and ISO 27001 A.8.33.·by soc2-readiness-v1-build