846b4c2511
feat(core-audit): pseudonymize helper (sha256 + AUDIT_PSEUDONYM_SALT)
...
Adds `pseudonymize(actorId)` in core-audit — SHA-256 of salt+":"+actorId
truncated to 16 hex chars, prefixed "erased-". Salt from
AUDIT_PSEUDONYM_SALT env (fallback dev label). 6 unit tests: deterministic,
salt-change-differs, fallback-no-throw.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-11 16:22:30 +02:00
cbde74b7ee
feat(core-audit): package barrel exports
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-11 16:16:44 +02:00
683dab691f
feat(core-audit): bindAudit binder with sink selection + prod salt validation
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-11 16:14:47 +02:00
7f75f3d56a
feat(core-audit): MultiSinkAuditLog fan-out with settle-all + stderr fallback
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-11 16:13:48 +02:00
fc4e4a1392
feat(core-audit): PayloadAuditLog.record impl (eraseSubject lands in Phase 3)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-11 16:13:18 +02:00
04c99346c6
feat(core-audit): append-only auditLogs Payload collection
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-11 16:12:48 +02:00
03e3ef39cd
feat(core-audit): StdoutJsonAuditLog impl with audit + audit-erasure markers
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-11 16:12:18 +02:00
17996e9347
feat(core-audit): NoopAuditLog impl
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-11 16:11:52 +02:00
12a8391944
feat(core-audit): IAuditLog interface + AUDIT_SYMBOLS
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-11 16:11:30 +02:00
0c5ad08dcd
feat(core-audit): scaffold optional package (no impls yet)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-11 16:10:58 +02:00