TastePolicy for developers
Subjective authority for your agents
Ask before an agent acts on taste. Get a decision, a reason, and a permission that ends when the facts change.
Connect
REST, SDK, remote MCP and A2A over one contract. OAuth account linking for hosted assistants; developer keys for your own code.
Docs: docs/developer/integrations.md
Control
Owner rules: freshness, autonomy, a five-step action ladder (suggest to present as selected), sensitive-choice rules, temporary permissions. Every answer carries the rule that decided it.
Docs: docs/product/m7-subjective-policy-control-plane.md
Enforce
Short leases for one choice, bound to commitments of the choice and situation. ASK is typed: an authority confirmation can wait for the owner, a missing fact needs a new evaluation.
Docs: docs/product/m8-preference-authority-leases.md
Verify
Selective-disclosure proofs any party can check against its own choice and situation, with epochs that end when authority ends and never return. Explicit-trust issuers. Run the Compatible v1 suite.
Docs: docs/conformance/tastepolicy-compatible.md
Start
- OpenAPI at
/api/v1/openapi, MCP at/api/mcp, A2A card at/.well-known/agent-card.json. - Offline sandbox in the SDK: all four decisions, no account needed.
- Verify a proof; issuer metadata at
/.well-known/tastepolicy-issuer.
What exists today
Available now
- Decisions: allow, ask, reject, can't tell. One deterministic evaluator behind every door. Missing evidence is never a no.
- REST API, OpenAPI and TypeScript SDK. The SDK is a thin server-side client in this repository; it is not published to npm.
- Remote MCP server. Exercised with an MCP client library in tests. Not yet verified inside a hosted assistant.
- A2A agent card and authority-lifecycle extension. JSON-RPC binding, no streaming or push. Tested agent to agent in the repository; not verified with a third-party A2A product.
- OAuth account linking for hosted assistants. Authorization code with PKCE, rotating refresh tokens, consent screen.
- Owner rules: freshness, autonomy, temporary permissions. Versioned, simulated before publishing, every answer carries the rule that decided it.
- How far an agent may go: suggest to present as selected. A five-step ladder per agent and kind of choice. Going further than your limit asks you.
- Extra care for sensitive kinds of choice. You mark a kind of choice as sensitive. TastePolicy does not infer sensitivity from content.
- Short permissions (leases) with owner approval. Event-sourced, expiring, pausing on drift. A missing fact needs a new evaluation, not an approval.
- Choice and situation commitments. Canonical digests of the evaluated choice and situation. A change is noticed only if the agent presents the current one.
- Verifiable proofs with selective disclosure. Signed, short-lived, holder-bindable. A proof from an ended period of authority never becomes valid again.
- Third-party issuers. Discover, inspect, then explicitly trust. Discovery never grants trust. There is no web of trust.
- One history of what happened. A derived, private timeline of questions, rules, permissions and proofs.
- Organization ceiling. One organization per deployment, set by the operator. It can only lower what a person allows. No admin console, no SSO or SCIM.
Not yet verified
- Working inside ChatGPT, Claude or Gemini. Not claimed. Standards-based connection points exist; a recorded run in each product is required before this changes.
Roadmap
- Publishing the SDK to npm. Not done.
- Organization admin console, SSO, SCIM. Not done.
Not implemented
- Gemini Enterprise A2A. Not supported.
- Payment, booking, purchase or any execution authority. By design. Allowed means preference authority only.
Authority is cultural preference only. No purchase, payment, booking or execution authority is ever implied.