Skip to content
TastePolicy.Open workspace

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.

  1. 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

  2. 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

  3. 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

  4. 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.

← Product