How tsi-coop/tsi-dpdp-cms works
TSI DPDP CMS is a consent-management service for Data Fiduciaries and Consent Managers. Its documented workflow is to configure fiduciaries and apps, author and publish policies from RoPA, capture and verify consent, and handle rights requests, notifications, and compliance enforcement. The graph covers the API framework, principal domain stages, and scheduled purge/webhook capabilities. Several services are represented from the README and source index; their internal calls are not inferred where excerpts do not show them.
Main entry points: PoolDB.java Database pool · InterceptingFilter.java Request routing · WebhookDispatcher.java Webhook dispatch · InputProcessor.java Input and auth
Components 28
API runtime
- Request routing
src/org/tsicoop/dpdpcms/framework/InterceptingFilter.java - Input and auth
src/org/tsicoop/dpdpcms/framework/InputProcessor.java - Action dispatch
src/org/tsicoop/dpdpcms/framework/Action.java - Response handling
src/org/tsicoop/dpdpcms/framework/OutputProcessor.java - Database pool
src/org/tsicoop/dpdpcms/framework/PoolDB.java - Database encryption
src/org/tsicoop/dpdpcms/framework/DbEncryption.java - Token security
src/org/tsicoop/dpdpcms/framework/JWTUtil.java
Administration
- Fiduciary setup
src/org/tsicoop/dpdpcms/service/v1/Fiduciary.java - App registration
src/org/tsicoop/dpdpcms/service/v1/App.java - RoPA authoring
src/org/tsicoop/dpdpcms/service/v1/Ropa.java - RoPA derivation
src/org/tsicoop/dpdpcms/util/RopaDeriver.java
Consent lifecycle
- Policy lifecycle
src/org/tsicoop/dpdpcms/service/v1/Policy.java - Consent operations
src/org/tsicoop/dpdpcms/service/v1/Consent.java - Principal records
src/org/tsicoop/dpdpcms/service/v1/Principal.java - Consent wallet
src/org/tsicoop/dpdpcms/service/v1/Wallet.java
Rights and compliance
- Rights portal
web/rights/portal.js - Grievance handling
src/org/tsicoop/dpdpcms/service/v1/Grievance.java - Breach reporting
src/org/tsicoop/dpdpcms/service/v1/Breach.java - Compliance workflows
src/org/tsicoop/dpdpcms/service/v1/Compliance.java - Audit records
src/org/tsicoop/dpdpcms/service/v1/Audit.java - Legal evidence
src/org/tsicoop/dpdpcms/service/v1/Legal.java
Jobs and delivery
- Scheduled jobs
src/org/tsicoop/dpdpcms/job/JobManager.java - Erasure enforcement
src/org/tsicoop/dpdpcms/ces/CESService.java - Notifications
src/org/tsicoop/dpdpcms/service/v1/Notification.java - Webhook dispatch
src/org/tsicoop/dpdpcms/framework/WebhookDispatcher.java
Other components
- Fiduciary / processor
- Data principal
- Fiduciary endpoint
Connections 24
- Fiduciary / processor → Request routing: sends requests
README.md - Request routing → Input and auth: processes input
src/org/tsicoop/dpdpcms/framework/InterceptingFilter.java - Request routing → Action dispatch: dispatches actions
src/org/tsicoop/dpdpcms/framework/InterceptingFilter.java - Request routing → Response handling: formats responses
src/org/tsicoop/dpdpcms/framework/InterceptingFilter.java - Input and auth → Database pool: checks client
src/org/tsicoop/dpdpcms/framework/InputProcessor.java - Input and auth → Token security: uses tokens
src/org/tsicoop/dpdpcms/framework/InterceptingFilter.java - App registration → Fiduciary setup: checks ownership
src/org/tsicoop/dpdpcms/service/v1/App.java - Fiduciary setup → Database pool: persists setup
src/org/tsicoop/dpdpcms/service/v1/Fiduciary.java - App registration → Database pool: persists apps
src/org/tsicoop/dpdpcms/service/v1/App.java - RoPA authoring → RoPA derivation: uses derivation
src/org/tsicoop/dpdpcms/service/v1/Ropa.java - RoPA derivation → Database pool: reads and writes
src/org/tsicoop/dpdpcms/util/RopaDeriver.java - Policy lifecycle → RoPA derivation: uses RoPA data
src/org/tsicoop/dpdpcms/service/v1/Policy.java - Policy lifecycle → Database pool: persists policies
src/org/tsicoop/dpdpcms/service/v1/Policy.java - Consent operations → Principal records: records consent
- Data principal → Rights portal: exercises rights
README.md - Scheduled jobs → Erasure enforcement: runs purge
src/org/tsicoop/dpdpcms/job/JobManager.java - Scheduled jobs → Compliance workflows: runs compliance
src/org/tsicoop/dpdpcms/job/JobManager.java - Erasure enforcement → Webhook dispatch: dispatches events
src/org/tsicoop/dpdpcms/ces/CESService.java - Notifications → Webhook dispatch: dispatches events
src/org/tsicoop/dpdpcms/service/v1/Notification.java - Webhook dispatch → Fiduciary endpoint: posts events
src/org/tsicoop/dpdpcms/framework/WebhookDispatcher.java - Webhook dispatch → Database pool: tracks delivery
src/org/tsicoop/dpdpcms/framework/WebhookDispatcher.java - Breach reporting → Audit records: records activity
- Grievance handling → Audit records: records activity
- Audit records → Legal evidence: supports evidence
README.md