{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_7ta433dfc9xw","handle":"tastepolicy-tastepolicy","url":"https://wellknown.network/agents/tastepolicy-tastepolicy","links":{"self":"https://wellknown.network/agents/tastepolicy-tastepolicy/record.json","html":"https://wellknown.network/agents/tastepolicy-tastepolicy","markdown":"https://wellknown.network/agents/tastepolicy-tastepolicy/record.md","api":"https://wellknown.network/api/v1/agents/tastepolicy-tastepolicy","status":"https://wellknown.network/api/v1/agents/tastepolicy-tastepolicy/status","claim":"https://wellknown.network/agents/tastepolicy-tastepolicy/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/tastepolicy-tastepolicy/claim.json","badge":"https://wellknown.network/agents/tastepolicy-tastepolicy/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/tastepolicy-tastepolicy/history","tools":"https://wellknown.network/api/v1/agents/tastepolicy-tastepolicy/tools"},"ard":{"identifier":"urn:air:tastepolicy.vercel.app:agent:tastepolicy-tastepolicy","type":"application/a2a-agent-card+json"},"kind":"agent","declared":{"name":"TastePolicy","summary":"Preference authority for autonomous agents. Answers whether a proposed brand, place or destination fits a user's reviewed cultural preferences: ALLOW, ASK, REJECT or UNAVAILABLE. Cultural preference authorization only. ALLOW never grants purchase, payment, booking, messaging, legal, account or priv…","description":"Preference authority for autonomous agents. Answers whether a proposed brand, place or destination fits a user's reviewed cultural preferences: ALLOW, ASK, REJECT or UNAVAILABLE. Cultural preference authorization only. ALLOW never grants purchase, payment, booking, messaging, legal, account or private-data authority.","publisher":{"name":"TastePolicy","url":"https://tastepolicy.vercel.app"},"homepage":"https://tastepolicy.vercel.app","repository":null,"version":"1.0.0","license":null,"protocols":["a2a"],"tags":["authorization","preferences","taste","lease","runtime","attestation","handoff","verification"],"pricing":null,"endpoints":[{"url":"https://tastepolicy.vercel.app","type":"a2a","auth":"none","probeable":true}],"skills":[{"id":"preference_authorization","name":"Preference authorization","tags":["authorization","preferences","taste"],"description":"Use this before you select, rank, recommend, shortlist, add to a draft, present as selected, or otherwise continue a subjective preference-sensitive choice for a person (not for objective operations). Evaluate a proposed choice against a Preference Passport. Send one data part: {passportRef, grantId?, idempotencyKey?, requestedAction?, proposal}. The task artifact carries the taste-authorization-response. UNAVAILABLE means no judgement was possible and is not a rejection."},{"id":"authority_lease","name":"Preference authority lease","tags":["authorization","lease","runtime"],"description":"Extension https://tastepolicy.dev/a2a/ext/authority-lifecycle/v1. After an ALLOW or an authority-confirmation ASK, hold a short-lived lease for that exact choice. Data part {operation: \"lease.request\"|\"lease.verify\"|\"lease.checkpoint\"|\"lease.resume\"|\"lease.release\", ...}. Verify and checkpoint accept the candidate and context as they are now; a mismatch suspends the lease. A pending owner question is TASK_STATE_INPUT_REQUIRED."},{"id":"authority_attestation","name":"Portable authority proof and handoff","tags":["attestation","handoff","verification"],"description":"Extension https://tastepolicy.dev/a2a/ext/authority-lifecycle/v1. For an ACTIVE lease, issue a short-lived SD-JWT proof bound to a receiving agent's public key, then hand it over in an A2A message (media type application/vnd.tastepolicy.attestation+sd-jwt). The receiver verifies with operation \"attestation.verify\" or the public verifier, passing the choice and situation it is acting on. The proof ends when the authority ends and never comes back."}],"tools":["Preference authorization","Preference authority lease","Portable authority proof and handoff"],"extra":{"inputModes":["application/json"],"outputModes":["application/json","text/plain"],"capabilities":{"streaming":false,"pushNotifications":false}},"attribution":{"kind":"a2a_card","name":"a2a_card","summary":"a2a_card","version":"a2a_card","description":"a2a_card","homepageUrl":"a2a_card","publisherUrl":"a2a_card","publisherName":"a2a_card"}},"derived":{"capabilities":[{"slug":"security.identity","name":"Identity & Access","confidence":1,"provenance":"declared"}],"categories":["security"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 2h ago.","lastOkAt":"2026-11-06T00:25:54.879Z","lastProbedAt":"2026-11-06T00:25:54.879Z","statusComputedAt":"2026-11-06T00:29:07.224Z","reliability30d":{"probes":23,"successRate":1,"p50Ms":383,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":23,"ok":23,"authBoundaryOk":0,"serviceOk":23,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-11-06T00:25:54.879Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":257,"error":null,"detail":{"name":"TastePolicy","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":3}},{"at":"2026-11-05T15:24:52.769Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":209,"error":null,"detail":{"name":"TastePolicy","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":3}},{"at":"2026-11-05T07:26:57.151Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":206,"error":null,"detail":{"name":"TastePolicy","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":3}},{"at":"2026-11-04T22:22:48.620Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":145,"error":null,"detail":{"name":"TastePolicy","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":3}},{"at":"2026-11-04T13:29:54.102Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":160,"error":null,"detail":{"name":"TastePolicy","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":3}},{"at":"2026-11-04T05:29:26.549Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":480,"error":null,"detail":{"name":"TastePolicy","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":3}},{"at":"2026-11-03T21:35:12.391Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":218,"error":null,"detail":{"name":"TastePolicy","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":3}},{"at":"2026-11-03T13:32:24.588Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":762,"error":null,"detail":{"name":"TastePolicy","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":3}},{"at":"2026-11-03T05:32:04.472Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":592,"error":null,"detail":{"name":"TastePolicy","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":3}},{"at":"2026-11-02T21:36:37.040Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":1109,"error":null,"detail":{"name":"TastePolicy","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":3}}],"tools":null,"package":null,"toolSurface":null,"endpointFacts":[{"id":"ep_p3tz9yvg6xcm","url":"https://tastepolicy.vercel.app","type":"a2a","factsCheckedAt":"2026-11-05T07:26:57.144Z","auth":null,"tls":{"observedAt":"2026-11-05T07:26:57.169Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"*.vercel.app","issuer":{"commonName":"WR1","organization":"Google Trust Services"},"validFrom":"2026-10-31T11:46:10.000Z","validTo":"2027-01-29T11:46:09.000Z","daysToExpiry":84,"sanCount":1,"fingerprint256":"B7:80:BC:CE:A3:10:43:38:B0:F1:DF:B6:18:D1:61:31:04:D8:0C:3B:A1:27:E1:9D:C9:30:7F:2C:9C:56:DF:C4"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"a2a_card","key":"https://tastepolicy.vercel.app/.well-known/agent-card.json","url":"https://tastepolicy.vercel.app/.well-known/agent-card.json","firstSeenAt":"2026-10-29T15:18:44.242Z","fetchedAt":"2026-10-29T15:18:44.242Z","normalizedAt":"2026-10-29T15:18:44.242Z"}]},"firstSeenAt":"2026-10-29T15:18:44.242Z","updatedAt":"2026-10-29T15:18:58.005Z"}