{"ref":"artifact:cap-js-data-privacy","page":"/artifacts/cap-js-data-privacy","json":"/artifacts/cap-js-data-privacy.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"cap-js-data-privacy","name":"@cap-js/data-privacy","artifact_type":"cds-plugin","ecosystem":"cap","flavors":[{"key":"node","source":{"url":"https://github.com/cap-js/data-privacy","title":"cap-js/data-privacy — README","checked":"2026-09-13","quote":"For tests, the `cds-test` Plugin is used to spin up the application. More information about `cds-test` can be found [here](https://cap.cloud.sap/docs/node.js/cds-test)."}}],"domain":"security-and-compliance","origin_ring":"sap-official","description":{"one_line":"Integration with SAP Data Privacy Integration, driven by the personal-data annotations already on the model — the annotation that marks a field is the one the service acts on.","short":"CAP integration with SAP Data Privacy Integration"},"links":{"npm":"https://www.npmjs.com/package/@cap-js/data-privacy","repo":"https://github.com/cap-js/data-privacy"},"provides":[{"capability":"capability:data-privacy","what_it_does":"Integrates SAP Data Privacy Integration from the @PersonalData annotations on the model, so the fields marked personal are the ones the service acts on.","sources":[{"url":"https://cap.cloud.sap/docs/guides/security/dpp-annotations","title":"Annotating Personal Data — capire","checked":"2026-09-27","quote":"In order to automate audit logging, personal data management, and data retention management as much as possible, the first and frequently only task to do as an application developer is to identify entities and elements (potentially) holding personal data using @PersonalData annotations."}]}],"provenance":{"discovered_via":[{"source":"source:npm"},{"source":"source:discover"}],"first_seen":"2026-08-30"},"maintainers":["actor:cap-js"],"contributors":["actor:dellagustin-sap","actor:schiwekm","actor:sirsimon04","actor:stefanrudi"],"history":[{"date":"2026-09-08","field":"description.one_line","from":"CDS plugin providing an integration with the SAP Data Privacy Integration service for PII data retention and information retrieval based on annotations.","to":"Integration with SAP Data Privacy Integration, driven by the personal-data annotations already on the model — the annotation that marks a field is the one the service acts on.","reason":"Placement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim."}],"drafted_with_ai":true},"effective_normative_relations":[{"instrument":"instrument:sap-developer-license-3-2-cap","relation":"use-constrained-by","sections":["1","2","3"],"applies_when":"A cds-plugin is used with SAP CAP materials, or an artifact is explicitly identified as a CAP plugin or application.","note":"This is inherited applicability, not a licence verdict about the artifact itself. Review the agreement for the actual materials and use; an explicit artifact relationship to another revision takes precedence.","scope":{"kind":"artifact"},"sources":[{"url":"https://cap.cloud.sap/resources/license/developer-license-3_2_CAP.txt","title":"SAP Developer License Agreement 3.2 CAP","checked":"2026-09-16","quote":"documentation, plug-ins, templates, scripts and sample code, libraries, software development kits"}],"inherited_from":"cap-plugins-and-applications","relevant_capabilities":["agent-systems-access","async-processing","data-import-export","database-connectors","deployment","destinations","llm-integration","mcp-servers","plugin-authoring","replication","retrieval-augmented-generation","rfc-connectivity"]}],"readings":{"liveness":[{"label":"Maintenance","tier":"good","evidence":"3 months since release"},{"label":"Continuity","tier":"good","evidence":"7 contributors, 3 publishers, org-owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-10, not archived"}],"compatibility":[{"label":"Declared for","tier":"good","evidence":">=9.8 — includes cds 10 and 9"},{"label":"Survived majors","tier":"good","evidence":"released before and after @sap/cds 10"},{"label":"Maintainer's CI","tier":"good","evidence":"Lint & Prettier green, 2026-10-15"}],"practice":[{"label":"Tests","tier":"good","evidence":"155 test files, npm test"},{"label":"Docs","tier":"fair","evidence":"README 3 KB"},{"label":"Changelog","tier":"good","evidence":"CHANGELOG in the repo"}],"reach":[{"value":1267,"unit":"installs/week"},{"value":1,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","latest_version":"0.6.3","majors":{"0.5":{"version":"0.5.0","date":"2026-04-15"},"0.6":{"version":"0.6.0","date":"2026-04-20"}},"license":"Apache-2.0","first_release":"2026-04-15","last_release":"2026-07-23","releases":5,"cadence_days":35,"maintainers":3,"repository":"git+https://github.com/cap-js/data-privacy.git","peer_cds":">=9.8","test_script":true,"types":false,"downloads_weekly":1267,"stars":1,"forks":5,"open_issues":12,"archived":false,"pushed_at":"2026-10-23","license_spdx":"Apache-2.0","org_owned":true,"default_branch":"main","contributors":7,"tree_truncated":false,"test_files":155,"workflows":7,"other_ci":false,"readme_bytes":3283,"docs_files":0,"changelog":true,"license_file":true,"dts_files":0,"ci_status":"success","ci_run_at":"2026-10-15","ci_workflow":"Lint & Prettier","ci_event":"push","readme_path":"README.md","readme_sha":"f643e9268f1e8918d3e24fd18ceeb48b915a1252","months_since_release":3,"dormant":false,"repository_directory":null,"dependencies":1,"node_engine":">=22","downloads_monthly":7109,"created_at":"2026-04-01T14:15:40Z","open_prs":11,"first_commit":"2026-04-01","last_commit":"2026-10-15","commits":35,"repo_read":"2026-10-26"},"release_notes":{"license":"Apache-2.0","quotable":true,"source":{"kind":"npm","path":"CHANGELOG.md","version":"0.6.3","url":"https://github.com/cap-js/data-privacy/blob/main/CHANGELOG.md"},"format":"keep-a-changelog","releases":[{"version":"0.6.3","date":"2026-07-20","date_source":"heading","heading":"Version 0.6.3 - 2026-07-20","url":"https://github.com/cap-js/data-privacy/blob/main/CHANGELOG.md#version-063---2026-07-20","sections":[{"kind":"fix","heading":"Fixed","items":2}],"hash":"540cd0ef2c500e56"},{"version":"0.6.2","date":"2026-06-18","date_source":"heading","heading":"Version 0.6.2 - 2026-06-18","url":"https://github.com/cap-js/data-privacy/blob/main/CHANGELOG.md#version-062---2026-06-18","sections":[{"kind":"fix","heading":"Fixed","items":5}],"hash":"c4efc070dab93c26"},{"version":"0.6.1","date":"2026-04-23","date_source":"heading","heading":"Version 0.6.1 - 2026-04-23","url":"https://github.com/cap-js/data-privacy/blob/main/CHANGELOG.md#version-061---2026-04-23","sections":[{"kind":"change","heading":"Changed","items":1},{"kind":"fix","heading":"Fixed","items":5}],"hash":"cfc1146d62962dcc"},{"version":"0.6.0","date":"2026-04-18","date_source":"heading","heading":"Version 0.6.0 - 2026-04-18","url":"https://github.com/cap-js/data-privacy/blob/main/CHANGELOG.md#version-060---2026-04-18","sections":[{"kind":"feature","heading":"Added","items":1},{"kind":"fix","heading":"Fixed","items":1}],"hash":"3ace828ba9d46989"},{"version":"0.5.0","date":"2026-04-15","date_source":"heading","heading":"Version 0.5.0 - 2026-04-15","url":"https://github.com/cap-js/data-privacy/blob/main/CHANGELOG.md#version-050---2026-04-15","sections":[{"kind":"feature","heading":"Retention Management (sap.ilm.RetentionService)","items":15},{"kind":"feature","heading":"Organizational Attributes & Value Help","items":3},{"kind":"feature","heading":"Blocking & Destruction Aspects","items":2},{"kind":"feature","heading":"Access Restrictions for Blocked Data","items":8},{"kind":"feature","heading":"Auditor Access","items":4},{"kind":"feature","heading":"Dynamic Data Subject Roles","items":2},{"kind":"feature","heading":"Dynamic ILM Object Enablement","items":2},{"kind":"feature","heading":"Conditions","items":2},{"kind":"feature","heading":"Information Reporting (sap.dpp.InformationService)","items":4},{"kind":"feature","heading":"Extending Services","items":3},{"kind":"feature","heading":"Multi-Tenancy","items":1},{"kind":"feature","heading":"Miscellaneous","items":3}],"hash":"f6723001f0d241df"}],"versions":[{"version":"0.6.3","date":"2026-07-23"},{"version":"0.6.2","date":"2026-06-18"},{"version":"0.6.1","date":"2026-04-23"},{"version":"0.6.0","date":"2026-04-20"},{"version":"0.5.0","date":"2026-04-15"}],"crawled_at":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:cap-js","name":"SAP Cloud Application Programming Model","json":"/actors/cap-js.json"}],"contributors":[{"ref":"actor:dellagustin-sap","name":"Guilherme Dellagustin","json":"/actors/dellagustin-sap.json"},{"ref":"actor:schiwekm","name":"Marten Schiwek","json":"/actors/schiwekm.json"},{"ref":"actor:sirsimon04","name":"Simon Engel","json":"/actors/sirsimon04.json"},{"ref":"actor:stefanrudi","name":"Stefan Rudi","json":"/actors/stefanrudi.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}