Personal Agent Protocol report
stricklandai.com
stricklandai.com publishes a poppy.json, and at least one P0 or P1 check fails.- Verdict
- Set up, with problems
- Profile
- pap-1.0@2026-11-13PAP Draft 1.0 (in progress, read 2026-11-13; starts from 0.4, published 2026-11-10; may change)
- Last run
- Tier 1 probed
- Not probed
Tier 0: the public files
Plain reads of poppy.json and the documents it points to. None of these requests carries a credential.8 pass, 1 fail, 29 N/A- T0-01Document existsserved at https://stricklandai.com/.well-known/poppy.json
- T0-02Redirects safeno redirects
- T0-03Valid JSON objecta JSON object
- T0-04Supported protocol_version
protocol_version 1.0 (advisory: agents on 0.4, the latest published version, will not use this file (spec 3.4), so also list a 0.4 document in supported_version…Show the full noteHide the full note
protocol_version 1.0 (advisory: agents on 0.4, the latest published version, will not use this file (spec 3.4), so also list a 0.4 document in supported_versions) - T0-05Organization names its own hostorganization.domain stricklandai.com
- T0-06Has an interfaceinterfaces: web
- T0-07Issuer identified
https://stricklandai.com/.well-known/oauth-protected-resource: answers 200 with a body that is not a JSON object; an agent reads only a 404 or valid metadata as…Show the full noteHide the full note
https://stricklandai.com/.well-known/oauth-protected-resource: answers 200 with a body that is not a JSON object; an agent reads only a 404 or valid metadata as "no issuer", and never falls back to the domain after any other answer - T0-08All URLs HTTPSevery URL is https
- T0-SIBPublished on the requested hostpublished on stricklandai.com
- T0-27Other version documents consistentan agent stops at poppy.json (T0-07)
- T0-09Issuer metadata reachablepoppy.json fails T0-07 (see pap-discovery)
- T0-10Issuer matchpoppy.json fails T0-07 (see pap-discovery)
- T0-11Domain bindingpoppy.json fails T0-07 (see pap-discovery)
- T0-12Required endpointspoppy.json fails T0-07 (see pap-discovery)
- T0-21Cache headerspoppy.json fails T0-07 (see pap-discovery)
- T0-22Signing algorithms validpoppy.json fails T0-07 (see pap-discovery)
- T0-34Signing algorithm list advertisedpoppy.json fails T0-07 (see pap-discovery)
- T0-23Same sign-in on every domainpoppy.json fails T0-07 (see pap-discovery)
- ADV-PKCENo plain PKCEpoppy.json fails T0-07 (see pap-discovery)
- T0-13Scopes definedpoppy.json fails T0-07 (see pap-discovery)
- T0-14Mediated sign-in well formedpoppy.json fails T0-07 (see pap-discovery)
- T0-19Extensions named correctlypoppy.json fails T0-07 (see pap-discovery)
- T0-20Extensions advertised fullypoppy.json fails T0-07 (see pap-discovery)
- T0-24Switched off consistentlypoppy.json fails T0-07 (see pap-discovery)
- T0-26Offered scopes describedpoppy.json fails T0-07 (see pap-discovery)
- T0-28Browser sign-in scope listedpoppy.json fails T0-07 (see pap-discovery)
- T0-15Conversation entriespoppy.json fails T0-07 (see pap-discovery)
- T0-16API entriespoppy.json fails T0-07 (see pap-discovery)
- T0-17OpenAPI parsespoppy.json fails T0-07 (see pap-discovery)
- T0-18MCP resource metadatapoppy.json fails T0-07 (see pap-discovery)
- T0-25Excluded tasks documentpoppy.json fails T0-07 (see pap-discovery)
- X-01Same MCP server everywherepoppy.json fails T0-07 (see pap-discovery)
- X-02Same organizationpoppy.json fails T0-07 (see pap-discovery)
- X-04Domains coveredpoppy.json fails T0-07 (see pap-discovery)
- X-07One issuerpoppy.json fails T0-07 (see pap-discovery)
- X-08One metadata documentpoppy.json fails T0-07 (see pap-discovery)
- X-10Shared token endpoint lists both protocols' grantspoppy.json fails T0-07 (see pap-discovery)
- X-12Consistent 401spoppy.json fails T0-07 (see pap-discovery)
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 grantpoppy.json fails T0-07 (see pap-discovery)
- T1-02Error bodies leak nothingpoppy.json fails T0-07 (see pap-discovery)
- T1-03Conversation endpoint refuses a request with no credentialspoppy.json fails T0-07 (see pap-discovery)
- T1-05MCP server challenges unauthenticated initializepoppy.json fails T0-07 (see pap-discovery)
- T1-15Browser join page is safe to loadpoppy.json fails T0-07 (see pap-discovery)
- T1-07Browser endpoint rejects a junk joinpoppy.json fails T0-07 (see pap-discovery)
- T1-16Browser join authorization requires a Sessionpoppy.json fails T0-07 (see pap-discovery)
- T1-09Operations endpoint requires a tokenpoppy.json fails T0-07 (see pap-discovery)
- T1-13Feedback endpoint requires a tokenpoppy.json fails T0-07 (see pap-discovery)
- T1-14Protocol endpoints answer without a redirectpoppy.json fails T0-07 (see pap-discovery)
- ADV-REDIRECTEndpoint answers without a redirectpoppy.json fails T0-07 (see pap-discovery)
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