🌾 idp-pii-simulator jurisdiction: XX plane: pii

Local/edge simulator of the farmer.online IdP + PII data plane — synthetic data only, NOT production.

Issuer: https://vault-dev.farmer.online · Keys: /.well-known/jwks.json · Health: /health

MethodPathPurpose
GET/healthliveness + jurisdiction
POST/v1/dekgenerate a data encryption key
POST/v1/keys/wrapwrap DEKs under the CMK
POST/v1/keys/unwrapconsent-gated ECDH unwrap (centerpiece)
POST/v1/pii/tokenizestore pre-encrypted PII, return tokens
POST/v1/pii/detokenizeresolve tokens to ciphertext (never plaintext)
GET/v1/vault/:farmer_id/fieldslist field metadata
GET/v1/gdpr/status/:farmer_idsubject state + counts
POST/v1/gdpr/exportexport a subject's data
POST/v1/gdpr/erasureerase a subject (RTBF)

Plaintext PII exists only in the browser. Encrypt with a per-field DEK, wrap via /v1/keys/wrap, tokenize, then read back via detokenize + consent-gated ECDH unwrap. See the README and client/farmer-sdk.ts.