Open-source, policy-enforcement and evidence kernel for privacy controls in Frappe and ERPNext.
Unity DPDP is a control plane above Frappe. Frappe remains the execution and data plane. The kernel does not fork or monkey-patch Frappe; it exposes supported adapters and policy contracts at operation boundaries.
request / API / job / integration
|
v
DPDP preflight -> allow | flag | require approval | deny
|
v
Frappe operation -> post-commit decision evidence
The kernel is generic. Vertical packs such as education add domain vocabulary and controls without changing the generic enforcement engine.
The first implementation slice now defines:
- versioned policy controls and scoped bindings;
- explicit enforcement modes and failure modes;
- a pure-Python inspector decision contract;
- privacy-minimised decision evidence;
- the adapter boundary for Frappe document, API, job, export, file, and integration operations.
- Frappe DocTypes for policy controls, scoped bindings, protected resources, and decision evidence;
- a global document lifecycle adapter for insert/update/delete preflight decisions;
- an explicit server API for operations outside document hooks.
The Frappe adapter is ready for bench installation, but has not yet been run against a Frappe bench in this checkout. The next slice is bench integration testing, seeded baseline controls, and the education vertical pack.
- automatic legal advice or a claim of legal compliance;
- storing raw student, parent, or employee records in the compliance register;
- a fork of Frappe or a universal monkey-patch;
- silently weakening a platform baseline through tenant configuration.
The pure inspector tests can be run without a Frappe bench:
python -m unittest discover -s tests -vFrappe integration tests will run through the consuming bench once the app is installed there.