Local/edge simulator of the farmer.online IdP + PII data plane — synthetic data only, NOT production.
Issuer: https://idp-dev.farmer.online · Keys: /.well-known/jwks.json · Health: /health
| Method | Path | Purpose |
|---|---|---|
| GET | /health | liveness + jurisdiction |
| GET | /.well-known/jwks.json | public signing keys (JWKS) |
| POST | /login | dev: mint a self access token {farmer_id} |
| POST | /oauth2/token | mint an access token {client_id, scope, subject?} |
| POST | /v1/consent | grant consent {farmer_id, purpose, fields[]} |
| POST | /v1/consent/check | evaluate consent decision |
| POST | /v1/consent/:consent_id/revoke | revoke a consent |
| POST | /v1/objection | record an Art.21 objection |
| POST | /v1/subject-state/:farmer_id | set erasure/restriction/freeze |
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.