feat(core-dsr): scaffold package + GDPR DSR interfaces and types

- Add pnpm turbo gen core-package dsr generator template and register
  dsr in CORE_PACKAGE_GENERATORS / choices list
- Run generator to produce packages/core-dsr/ shell
- Define IDataExport (Art. 15/20), IDataDelete (Art. 17),
  IDataRectify (Art. 16), IProcessingRestriction (Art. 18) interfaces
- Add UserDataBundle and DeletionCertificate types in dsr-types.ts
- Ship core-dsr/contexts/user-data.jsonld schema.org JSON-LD @context
- Wire @repo/core-dsr into transpilePackages (web-next)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-19 19:32:03 +00:00
parent 86d949294f
commit e378c950a9
24 changed files with 490 additions and 9 deletions

View File

@@ -0,0 +1,24 @@
/**
* GDPR Art. 16 (right to rectification).
*
* Allows a subject to correct inaccurate personal data held about them.
* Implementations verify the field is PII-tagged before updating and emit a
* RESTRICT audit entry with `reason: "art-16-request"` as the tamper-evident
* record of the correction.
*/
export interface IDataRectify {
/**
* Update a single PII field for the given subject in the specified collection.
*
* @param subjectId - The subject's canonical ID.
* @param collection - Payload collection slug (e.g. "users").
* @param field - Name of the field to update (must be `custom.pii`-tagged).
* @param value - New value; must satisfy the field's Payload field type.
*/
updateSubjectField(
subjectId: string,
collection: string,
field: string,
value: unknown,
): Promise<void>;
}