Personal Agent Protocol report
thekaivalyam.com
thekaivalyam.com publishes a poppy.json, and no P0 or P1 check Ora measured fails. Ora could not measure 8 P0 or P1 checks, listed below.- Verdict
- No problems found
- Profile
- pap-1.0@2026-11-12PAP Draft 1.0 (in progress, read 2026-11-12; starts from 0.4, published 2026-11-10; may change)
- Last run
- Tier 1 probed
- Not probed
P0 and P1 checks Ora could not measure
- T1-01 Token endpoint rejects a junk grant (P1): not measured
- T1-03 Conversation endpoint refuses a request with no credentials (P0): not measured
- T1-05 MCP server challenges unauthenticated initialize (P1): not measured
- T1-15 Browser join page is safe to load (P1): not measured
- T1-07 Browser endpoint rejects a junk join (P0): not measured
- T1-16 Browser join authorization requires a Session (P1): not measured
- T1-13 Feedback endpoint requires a token (P1): not measured
- T1-14 Protocol endpoints answer without a redirect (P1): not measured
Tier 0: the public files
Plain reads of poppy.json and the documents it points to. None of these requests carries a credential.10 pass, 28 N/A- T0-01Document existsserved at https://www.thekaivalyam.com/.well-known/poppy.json
- T0-02Redirects safe1 redirect(s), all HTTPS
- T0-03Valid JSON objecta JSON object
- T0-04Supported protocol_version
protocol_version 0.4 (advisory: agents that support only Draft 1.0, which Ora follows and the spec's authors ask builders to use, will not use this file (spec 3…Show the full noteHide the full note
protocol_version 0.4 (advisory: agents that support only Draft 1.0, which Ora follows and the spec's authors ask builders to use, will not use this file (spec 3.4), so move poppy.json to 1.0 and list a 0.4 document in supported_versions, or list a 1.0 document here) - T0-05Organization names its own hostorganization.domain www.thekaivalyam.com; the file was requested from thekaivalyam.com and served by www.thekaivalyam.com, so it speaks for www.thekaivalyam.com
- T0-06Has an interfaceinterfaces: apis, web
- T0-07Issuer identifiedno issuer (https://www.thekaivalyam.com/.well-known/oauth-protected-resource answers 404): the Company offers signed-out Sessions only
- T0-08All URLs HTTPSevery URL is https
- T0-SIBPublished on the requested hostpublished on thekaivalyam.com
- T0-27Other version documents consistentsupported_versions lists no other version
- T0-09Issuer metadata reachableThe Company has no issuer, so it offers signed-out Sessions only
- T0-10Issuer matchThe Company has no issuer, so it offers signed-out Sessions only
- T0-11Domain bindingThe Company has no issuer, so it offers signed-out Sessions only
- T0-12Required endpointsThe Company has no issuer, so it offers signed-out Sessions only
- T0-21Cache headersThe Company has no issuer, so it offers signed-out Sessions only
- T0-22Signing algorithms validThe Company has no issuer, so it offers signed-out Sessions only
- T0-34Signing algorithm list advertisedThe Company has no issuer, so it offers signed-out Sessions only
- T0-23Same sign-in on every domainThe Company has no issuer, so it offers signed-out Sessions only
- ADV-PKCENo plain PKCEThe Company has no issuer, so it offers signed-out Sessions only
- T0-13Scopes definedno auth.scopes or auth.scope_hints
- T0-14Mediated sign-in well formedno Mediated Sign-In extension
- T0-19Extensions named correctlyno extensions
- T0-20Extensions advertised fullyoperations extension not advertised
- T0-24Switched off consistentlyneither auth.disabled nor web.disabled is set
- T0-26Offered scopes describedno issuer, so no offered scopes
- T0-28Browser sign-in scope listedno browser join (web.browser_session_endpoint)
- T0-15Conversation entriesno agent block
- T0-16API entries1 API entry
- T0-17OpenAPI parsesno openapi entries
- T0-18MCP resource metadatano protected resource metadata for https://www.thekaivalyam.com/_api/mcp, which an MCP server that offers no account access does not need
- T0-25Excluded tasks documentDraft 0.4 serves excluded tasks per Session, behind tasks.endpoint, which Ora does not read without a Session header
- X-01Same MCP server everywherethe ARD catalog lists no MCP server card
- X-02Same organizationno ARD catalog host to compare
- X-04Domains coveredprotected_resources lists no other domain
- X-07One issuerfrom Draft 0.3 the issuer comes from the domain's protected resource metadata (spec 3.2), which T0-07 and T0-18 grade
- X-08One metadata documentfrom Draft 0.3 a site may list several authorization servers, and auth.issuer picks the one agents use (spec 3.2)
- X-10Shared token endpoint lists both protocols' grantsno other protocol shares the PAP issuer's token endpoint
- X-12Consistent 401sno recorded 401 challenge from a PAP MCP server
Tier 1: junk requests to the listed endpoints
Requests with no valid credential, which a correct site refuses. They run only when the scan asks for them, at most once per domain every 6 hours.No Tier 1 probe result from the last 30 days.11 not measured- T1-01Token endpoint rejects a junk grantActive probes run only on a scan requested for this domain. No probe result from the last 30 days.
- T1-02Error bodies leak nothingActive probes run only on a scan requested for this domain. No probe result from the last 30 days.
- T1-03Conversation endpoint refuses a request with no credentialsActive probes run only on a scan requested for this domain. No probe result from the last 30 days.
- T1-05MCP server challenges unauthenticated initializeActive probes run only on a scan requested for this domain. No probe result from the last 30 days.
- T1-15Browser join page is safe to loadActive probes run only on a scan requested for this domain. No probe result from the last 30 days.
- T1-07Browser endpoint rejects a junk joinActive probes run only on a scan requested for this domain. No probe result from the last 30 days.
- T1-16Browser join authorization requires a SessionActive probes run only on a scan requested for this domain. No probe result from the last 30 days.
- T1-09Operations endpoint requires a tokenActive probes run only on a scan requested for this domain. No probe result from the last 30 days.
- T1-13Feedback endpoint requires a tokenActive probes run only on a scan requested for this domain. No probe result from the last 30 days.
- T1-14Protocol endpoints answer without a redirectActive probes run only on a scan requested for this domain. No probe result from the last 30 days.
- ADV-REDIRECTEndpoint answers without a redirectActive probes run only on a scan requested for this domain. No probe result from the last 30 days.
Tier 2a: coming soon
Valid requests with a real client, once Ora publishes its own client metadata and signs real requests. Not measured yet. These planned checks were written for PAP Draft 0.2, and their sections are its numbering; they will be rewritten for Draft 1.0 before any is built.10 not measuredShow the 10 planned checks
- T2-M1Call each read-only OpenAPI GET with no token, then with a valid signed-out token
- T2-M5Load the consent page for Ora's real client_id from a valid S256 request and inspect headers; never sign in
- T2-01Start a Session for U1
- T2-02Token lifetime
- T2-05Renew with session_id
- T2-14Nonce challenge
- T2-16Token request with no DPoP proof for an MCP server (resource = MCP url)
- T2-18Token accepted without cookies
- T2-19Valid browser assertion, form POST
- T2-25Cookie scope
Tier 2b: requires opt-in
Checks that run only for a verified owner who opts in. Not measured yet. These planned checks were written for PAP Draft 0.2, and their sections are its numbering; they will be rewritten for Draft 1.0 before any is built.36 not measuredShow the 36 planned checks
- T2-M2Send a valid Session Token in ?access_token= instead of the header
- T2-M3Send a valid browser assertion in the URL instead of the form body
- T2-M4Start Direct Sign-In with code_challenge_method=plain and Ora's real client_id; stop at the authorization endpoint
- T1-12Mediated endpoint, only if the company opts in: two bad-credential attempts
- T2-03Replay the same assertion jti
- T2-04Assertion with aud as an array, or as an endpoint URL instead of auth.issuer
- T2-06Renew U1's Session with a U2 assertion
- T2-07Assertion signed with a key not in Ora's JWKS
- T2-08alg: none or HS256 assertion
- T2-09Token request with a reused proof jti
- T2-10Proof with wrong htu or htm
- T2-11Proof with wrong ath
- T2-12Proof signed by a different key than the token's binding
- T2-13Stale iat (beyond ~1 min)
- T2-15Token sent as Authorization: Bearer to a non-MCP endpoint
- T2-17That Bearer token at another MCP server or an OpenAPI endpoint
- T2-20Replay the same browser assertion
- T2-21exp more than 60 s after iat
- T2-22return_to on a foreign domain
- T2-23Session assertion (wrong typ) at the browser endpoint
- T2-24Browser assertion at the token endpoint
- T2-26Start with a general question
- T2-27Retry the same message id and content
- T2-28Same id, different content
- T2-29Read events with and without wait
- T2-30POST …/messages?wait=10
- T2-31Junk cursor
- T2-32U2 reads U1's conversation
- T2-33Stream with Accept: text/event-stream
- T2-34Ask about the account while signed out
- T2-35Message with only context
- T2-36Close, then send a message
- T2-37Handoff (opt-in only; may page staff)
- T2-38Ora client metadata without extensions.operations, trigger a proposing endpoint
- T2-39U2 reads U1's signed-out operation
- T2-40Confirm an old revision (if revisions can be triggered)
Tier 3: needs a test account and a person
Checks that need a test account from the company and a person at the keyboard. Ora does not run these on its own. These planned checks were written for PAP Draft 0.2, and their sections are its numbering; they will be rewritten for Draft 1.0 before any is built.17 not measuredShow the 17 planned checks
- T3-01Direct sign-in
- T3-02Redirect URI not in Ora's redirect_uris
- T3-03User declines
- T3-04Device sign-in
- T3-05Mediated sign-in (if offered)
- T3-06Partial scope approval
- T3-07Request an unlisted scope
- T3-08Scope enforcement across channels
- T3-09Account Token from another client_id or at an API
- T3-10Account Token with narrower and wider scope
- T3-11Sign a Session into account B after account A
- T3-12Revoke the Account Token
- T3-13Signed-out token on an account-using conversation
- T3-14Direct Conversation
- T3-15Operation end to end (sandbox action)
- T3-16standing_permission on a user_approval_required operation
- T3-17Account settings