{"capabilities":{"extensions":[{"description":"MCP server over streamable-HTTP, exposing the same handlers as /a2a. The envelope differs; the gate does not.","params":{"endpoint":"https://shutter.batradar.club/mcp","protocolVersion":"2025-03-26","transport":"streamable-http"},"required":false,"uri":"https://modelcontextprotocol.io"}],"pushNotifications":false,"stateTransitionHistory":false,"streaming":false},"dataEgressPolicy":"LOCAL_ONLY","defaultInputModes":["application/json"],"defaultOutputModes":["application/json"],"description":"Holds an opaque shield in front of the camera lens, and moves it only for a grant from `master` it can verify.","name":"agents/shutter","preferredTransport":"JSONRPC","protocolVersion":"0.3.0","provider":{"organization":"Hawk Eye","url":"https://batradar.club"},"safetySignals":{"enclaveAttestation":null,"guardrailCertification":{"standard":"CUSTOM","standardUri":"https://batradar.club/docs/threat-landscape"}},"securityRequirements":[{"ansIdentityCert":[]}],"securitySchemes":{"ansIdentityCert":{"description":"ANS identity certificate, private CA. Chain in keys[].x5c of the trust card.","type":"mutualTLS"},"noAuth":{"description":"Read-only card and health surfaces.","type":"noAuth"}},"signatures":[{"header":{"kid":"kaTk2i4JxrQWnxQIGwVJAr53UMgRIUlcenWatW92iFw"},"protected":"eyJhbGciOiJFZERTQSIsImprdSI6Imh0dHBzOi8vc2h1dHRlci5iYXRyYWRhci5jbHViLy53ZWxsLWtub3duL2Fucy90cnVzdC1jYXJkLmpzb24iLCJraWQiOiJrYVRrMmk0SnhyUVdueFFJR3dWSkFyNTNVTWdSSVVsY2VuV2F0VzkyaUZ3IiwidHlwIjoiYWdlbnQtY2FyZCtqd3MifQ","signature":"SVRhllOpIb1FM-5zvmKnUb_8T1Rs-2VJTkpimBi5BlPzefXlCbihiF1lWDX-gaV3lf7XNdfHEUeNyPHrkk44CQ"}],"skills":[{"description":"Issues the single-use nonce a grant must carry, with a ten-second TTL. **The verifier issues the challenge**, in both directions: everywhere else in the mesh `master` asks and holds the nonce, and here `master` is the one asking for something to happen, so the nonce is held by the side doing the verifying.","id":"challenge","name":"Grant challenge","tags":["shutter.nonce"]},{"description":"Verifies a grant against the key `master` publishes in its own trust card, moves ninety degrees, and attests the position it commanded. Seven refusals, each signed, each leaving the servo where it was.","id":"open","name":"Shield position","tags":["shutter.commanded_angle","shutter.position","shutter.refusal"]}],"supportedInterfaces":[{"protocolBinding":"jsonrpc","protocolVersion":"0.3.0","url":"https://shutter.batradar.club/a2a"},{"protocolBinding":"mcp","protocolVersion":"2025-03-26","url":"https://shutter.batradar.club/mcp"}],"url":"https://shutter.batradar.club/a2a","version":"0.1.0","x-expected-caller":"agents/master.","x-hawkeye":{"consumes":["agents/master"],"dispatchAddressCommitment":{"commitmentScheme":"SHA-256 over salt || JCS(canonical_address)","dispatchAddressCommitment":"sha256:RAckgZOfBS9NPs77s6UjAtTbsjc6XLfGdSx7vwS5uJM"},"mustNotClaim":["That the shield is physically where the servo says it is. The SG92R is open-loop and has no position feedback, so the attestation reports a *commanded* angle. A shield that jammed would attest open while covering the lens, and the only thing that catches that is the frame itself being dark.","That the mount is tamper-resistant. It is demo-grade, and someone standing at the camera can hold it shut.","That the camera is disabled. Nothing stops it at the driver level: the shield is an object in front of a lens, which is the point. A software disable is a claim and an opaque object is not.","Anything about who or what is in the room. It has one input, one output, and no knowledge of what a camera is for."],"question":"Is the lens covered, and who proved it should not be?","recommendedProfileExpected":"TRANSACTIONAL","role":"coordination","simulatedInputs":[],"tier":1},"x-security-note":"The read-only surfaces of this agent are publicly accessible with no authentication required (noAuth). The ansIdentityCert scheme (mutual TLS, ANS private CA) is declared for agent-to-agent calls and is NOT currently enforced: the inter-agent transport is not yet wired as of this card version. The card accurately describes what is enforced."}