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:
24
packages/core-dsr/src/data-rectify.interface.ts
Normal file
24
packages/core-dsr/src/data-rectify.interface.ts
Normal 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>;
|
||||
}
|
||||
Reference in New Issue
Block a user