feat(core-shared): add PII and retention type primitives

Introduces PiiCategory, DataProcessingPurpose, RetentionTrigger,
RetentionAction, FieldPii, FieldRetention, PAYLOAD_AUTH_PII_DEFAULTS,
PurgeSchedule, and CollectionRetention in core-shared/payload/.
Augments payload's FieldCustom and CollectionCustom interfaces via
ambient declaration so downstream collection configs gain typed
custom.pii and custom.retention / custom.authPii fields.

Credential fields (password, salt, hash, resetPasswordToken,
resetPasswordExpiration, loginAttempts, lockUntil, apiKey, apiKeyIndex)
are null in PAYLOAD_AUTH_PII_DEFAULTS to exclude security material
from DPA mapping. Adds @vitest/coverage-v8 and coverage exclusions
for boilerplate infrastructure files so coverage:diff is gated on
new executable code.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-18 18:23:24 +00:00
parent c298f396b1
commit a94e8032b5
9 changed files with 296 additions and 12 deletions

View File

@@ -68,6 +68,7 @@
"@sentry/node": "^10.51.0",
"@sentry/react": "^10.51.0",
"@types/node": "^22.0.0",
"@vitest/coverage-v8": "^3.2.4",
"inversify": "^6.2.0",
"reflect-metadata": "^0.2.2",
"vitest": "^3.1.0"