What it is
privacy.
The module knows no venture's schema. Every table it reads was declared by another module through Module::personal_data, so a new module is covered the day it is composed rather than the day someone remembers to update an export script. Erasure is two steps, and the subject comes from the signed token rather than from the request, so a caller cannot erase someone else.
Ports
Database · Signer
Routes
/v1/privacy
- GET
/v1/privacy/manifest - POST
/v1/privacy/export - POST
/v1/privacy/erase - POST
/v1/privacy/erase/ confirm
Before you compose it
Published and composable by hand today, but fz build cannot yet select it: the manifest's built-in catalogue lags the curated list (harness #451). Compose it directly in your venture until that lands.
History
Changelog.
From the crate’s CHANGELOG.md in the harness, as of 0c5560b. 5 versions recorded, newest first. Every published version is on crates.io.
Other
- updated the following local packages: cratefield-core
Other
- updated the following local packages: cratefield-core
3 earlier versions 0.2.1 to 0.3.1
Other
- serve the CF08 provider protocol from a harness deployment, and apply the account provider last (#792)
Added
- (provider server)
Privacy::serve_provider, so a deployment can answer the same signed protocol it calls out on:POST /v1/privacy/provider/{export,erase/plan,erase/apply}over this composition's own declarations, with the HMAC as the authorisation rather thanADMIN_TOKEN, and no routes at all where it was not opted in (#656). HttpProvider::account(), marking the provider that holds the identity so it is applied last — unmarked providers in registration order, then the marked ones — in all three loops (#656).
Changed
- Breaking: requires
cratefield-core0.8 (was 0.7), and so a minor rather than a patch bump: a venture still on core 0.7 does not pick this release up through a caret requirement and end up with two copies of core (#712).
- Breaking: requires
Other
- updated the following local packages: cratefield-core
Coverage comes from what modules declare, not from a list someone maintains.