Files
agentic-dev/compliance/data-map.yml
Danijel Martinek c990e1b871 feat(workspaces): encrypted write-only credential storage
Workspaces Payload collection with the PAT as a write-only field:
access.read () => false strips it from every access-controlled read
path, and a field-level beforeChange hook encrypts on write with
AES-256-GCM (scrypt key from VEECT_SECRET, random per-value salt + IV,
v1 storage format) via node:crypto only. The real repository replaces
the phase-1 stub with payload create/findByID; toDomain never maps the
credential, and getDecryptedCredential(id) is the single server-side
decrypt path for the runner handoff (story 07). Contract suite now
covers create, write-only behaviour, and the decrypt path against both
the mock and the Payload impl (stub runs the real collection hooks).
Missing VEECT_SECRET fails production bind/boot with an actionable
message; dev-seed boots without it. Env declared in turbo.json
globalEnv + .env.example.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016j8z4VHjedXDTjEDNg7qHK
2026-07-12 22:36:18 +02:00

28 lines
732 B
YAML

# compliance/data-map.yml — PII field inventory
# Generated by scripts/compliance/emit-data-map.mjs — do not edit manually.
# Run `pnpm compliance:data-map` to regenerate.
collections:
users:
auth: true
piiFields:
- category: identification-username
exportable: true
field: displayName
purpose:
- service-delivery
restrictable: true
source: field-tag
- category: contact-email
exportable: true
field: email
purpose:
- account-authentication
- transactional-notifications
restrictable: true
source: auth-default
slug: users
workspaces:
auth: false
piiFields: []
slug: workspaces