{"ok":true,"kind":"crawlcheck-capability-registry-entry","v":1,"domain":"vercel.com","page":"https://crawlcheck.io/registry/capabilities/vercel.com","row":{"domain":"vercel.com","host":"vercel.com","report_id":"mszfnjif4r","scanned_at":"2026-10-04T06:00:13.652Z","manifest":"470801a742e6610a0c137aa144f6cde8a7f6dd1b48e016619cd39efbb5c8ec50","declared":10,"protocols":["agent_skill","api"],"by_policy":{"metadata":10},"verified":0,"mismatches":0,"self_scan":false},"policy_classes":[{"id":"public_read_only","safety":"read_only_public","label":"Public read-only","automatic":true,"invoke":"May be called without credentials. CrawlCheck calls it only to check the declaration: GET with no input, on the scanned origin."},{"id":"authenticated_read_only","safety":"read_only_authenticated","label":"Authenticated read-only","automatic":false,"invoke":"Never called by CrawlCheck. An agent needs the user's own credentials and consent."},{"id":"reversible_write","safety":"reversible_write","label":"Reversible write","automatic":false,"invoke":"Never invoked automatically. Needs the owner's written authorisation and a test account."},{"id":"irreversible_write","safety":"irreversible_write","label":"Irreversible write","automatic":false,"invoke":"Never invoked automatically. Deletes or changes something that cannot be undone."},{"id":"financial","safety":"financial","label":"Financial","automatic":false,"invoke":"Never invoked automatically. Moves money or creates a charge."},{"id":"external_communication","safety":"external_communication","label":"External communication","automatic":false,"invoke":"Never invoked automatically. Sends a message, email or notification to someone."},{"id":"identity","safety":"identity_or_account","label":"Identity and accounts","automatic":false,"invoke":"Never invoked automatically. Creates, signs in to or changes an account or credential."},{"id":"unknown","safety":"unknown","label":"Unknown","automatic":false,"invoke":"Never invoked. Its effect cannot be read from the declaration, so it is treated as the riskiest case."},{"id":"metadata","safety":"metadata_only","label":"Metadata","automatic":false,"invoke":"Nothing to invoke: a listing, a server card or a skill file, not an operation."}],"items":[{"capability_id":"cap1:9733ec1ee3c55d89b96b","protocol":"api","operation":null,"method":null,"endpoint":"https://api.vercel.com","declared":{"by":"https://vercel.com/.well-known/api-catalog","declaration_sha256":"95a52c67f2a195850926068c69dd8a13203b7a02b3553bc7bf50824a5af44012","authentication":"unknown","params_required":null,"media":null,"safety_class":"metadata_only","safety_basis":"an API the catalog lists; its operations are in its own description"},"policy":{"id":"metadata","label":"Metadata","automatic":false,"invoke":"Nothing to invoke: a listing, a server card or a skill file, not an operation."},"observed":{"state":"not_attempted","verified":false,"at":null,"status":null,"content_type":null,"sha256":null,"mismatches":[],"not_attempted_because":"on another origin (api.vercel.com): only the scanned origin is called"}},{"capability_id":"cap1:1f77b088bed949b33fe1","protocol":"agent_skill","operation":"deploy-to-vercel","method":null,"endpoint":"https://github.com/vercel-labs/agent-skills/releases/download/agent-skills-063bee94c3f4df8453406c830b0a7df0f2860278/deploy-to-vercel.tar.gz","declared":{"by":"https://vercel.com/.well-known/agent-skills/index.json","declaration_sha256":"b162759476cabaf75d51d07601a050990892ddf7a7063eea41ebc3e983236905","authentication":"none","params_required":null,"media":null,"safety_class":"metadata_only","safety_basis":"an instruction file an agent reads; not an operation"},"policy":{"id":"metadata","label":"Metadata","automatic":false,"invoke":"Nothing to invoke: a listing, a server card or a skill file, not an operation."},"observed":{"state":"not_attempted","verified":false,"at":null,"status":null,"content_type":null,"sha256":null,"mismatches":[],"not_attempted_because":"on another origin (github.com): only the scanned origin is called"}},{"capability_id":"cap1:73c82107a79edd5289c9","protocol":"agent_skill","operation":"vercel-cli-with-tokens","method":null,"endpoint":"https://github.com/vercel-labs/agent-skills/releases/download/agent-skills-063bee94c3f4df8453406c830b0a7df0f2860278/vercel-cli-with-tokens.md","declared":{"by":"https://vercel.com/.well-known/agent-skills/index.json","declaration_sha256":"b162759476cabaf75d51d07601a050990892ddf7a7063eea41ebc3e983236905","authentication":"none","params_required":null,"media":null,"safety_class":"metadata_only","safety_basis":"an instruction file an agent reads; not an operation"},"policy":{"id":"metadata","label":"Metadata","automatic":false,"invoke":"Nothing to invoke: a listing, a server card or a skill file, not an operation."},"observed":{"state":"not_attempted","verified":false,"at":null,"status":null,"content_type":null,"sha256":null,"mismatches":[],"not_attempted_because":"on another origin (github.com): only the scanned origin is called"}},{"capability_id":"cap1:48a35263416b95f41a6c","protocol":"agent_skill","operation":"vercel-composition-patterns","method":null,"endpoint":"https://github.com/vercel-labs/agent-skills/releases/download/agent-skills-063bee94c3f4df8453406c830b0a7df0f2860278/vercel-composition-patterns.tar.gz","declared":{"by":"https://vercel.com/.well-known/agent-skills/index.json","declaration_sha256":"b162759476cabaf75d51d07601a050990892ddf7a7063eea41ebc3e983236905","authentication":"none","params_required":null,"media":null,"safety_class":"metadata_only","safety_basis":"an instruction file an agent reads; not an operation"},"policy":{"id":"metadata","label":"Metadata","automatic":false,"invoke":"Nothing to invoke: a listing, a server card or a skill file, not an operation."},"observed":{"state":"not_attempted","verified":false,"at":null,"status":null,"content_type":null,"sha256":null,"mismatches":[],"not_attempted_because":"on another origin (github.com): only the scanned origin is called"}},{"capability_id":"cap1:2189a2f5ada7de60b784","protocol":"agent_skill","operation":"vercel-optimize","method":null,"endpoint":"https://github.com/vercel-labs/agent-skills/releases/download/agent-skills-063bee94c3f4df8453406c830b0a7df0f2860278/vercel-optimize.tar.gz","declared":{"by":"https://vercel.com/.well-known/agent-skills/index.json","declaration_sha256":"b162759476cabaf75d51d07601a050990892ddf7a7063eea41ebc3e983236905","authentication":"none","params_required":null,"media":null,"safety_class":"metadata_only","safety_basis":"an instruction file an agent reads; not an operation"},"policy":{"id":"metadata","label":"Metadata","automatic":false,"invoke":"Nothing to invoke: a listing, a server card or a skill file, not an operation."},"observed":{"state":"not_attempted","verified":false,"at":null,"status":null,"content_type":null,"sha256":null,"mismatches":[],"not_attempted_because":"on another origin (github.com): only the scanned origin is called"}},{"capability_id":"cap1:2cb45b7ac433c7657108","protocol":"agent_skill","operation":"vercel-react-best-practices","method":null,"endpoint":"https://github.com/vercel-labs/agent-skills/releases/download/agent-skills-063bee94c3f4df8453406c830b0a7df0f2860278/vercel-react-best-practices.tar.gz","declared":{"by":"https://vercel.com/.well-known/agent-skills/index.json","declaration_sha256":"b162759476cabaf75d51d07601a050990892ddf7a7063eea41ebc3e983236905","authentication":"none","params_required":null,"media":null,"safety_class":"metadata_only","safety_basis":"an instruction file an agent reads; not an operation"},"policy":{"id":"metadata","label":"Metadata","automatic":false,"invoke":"Nothing to invoke: a listing, a server card or a skill file, not an operation."},"observed":{"state":"not_attempted","verified":false,"at":null,"status":null,"content_type":null,"sha256":null,"mismatches":[],"not_attempted_because":"on another origin (github.com): only the scanned origin is called"}},{"capability_id":"cap1:23a2aae358d66d924983","protocol":"agent_skill","operation":"vercel-react-native-skills","method":null,"endpoint":"https://github.com/vercel-labs/agent-skills/releases/download/agent-skills-063bee94c3f4df8453406c830b0a7df0f2860278/vercel-react-native-skills.tar.gz","declared":{"by":"https://vercel.com/.well-known/agent-skills/index.json","declaration_sha256":"b162759476cabaf75d51d07601a050990892ddf7a7063eea41ebc3e983236905","authentication":"none","params_required":null,"media":null,"safety_class":"metadata_only","safety_basis":"an instruction file an agent reads; not an operation"},"policy":{"id":"metadata","label":"Metadata","automatic":false,"invoke":"Nothing to invoke: a listing, a server card or a skill file, not an operation."},"observed":{"state":"not_attempted","verified":false,"at":null,"status":null,"content_type":null,"sha256":null,"mismatches":[],"not_attempted_because":"on another origin (github.com): only the scanned origin is called"}},{"capability_id":"cap1:4b3545b6200e9fad6833","protocol":"agent_skill","operation":"vercel-react-view-transitions","method":null,"endpoint":"https://github.com/vercel-labs/agent-skills/releases/download/agent-skills-063bee94c3f4df8453406c830b0a7df0f2860278/vercel-react-view-transitions.tar.gz","declared":{"by":"https://vercel.com/.well-known/agent-skills/index.json","declaration_sha256":"b162759476cabaf75d51d07601a050990892ddf7a7063eea41ebc3e983236905","authentication":"none","params_required":null,"media":null,"safety_class":"metadata_only","safety_basis":"an instruction file an agent reads; not an operation"},"policy":{"id":"metadata","label":"Metadata","automatic":false,"invoke":"Nothing to invoke: a listing, a server card or a skill file, not an operation."},"observed":{"state":"not_attempted","verified":false,"at":null,"status":null,"content_type":null,"sha256":null,"mismatches":[],"not_attempted_because":"on another origin (github.com): only the scanned origin is called"}},{"capability_id":"cap1:399c4b051c922c95e481","protocol":"agent_skill","operation":"web-design-guidelines","method":null,"endpoint":"https://github.com/vercel-labs/agent-skills/releases/download/agent-skills-063bee94c3f4df8453406c830b0a7df0f2860278/web-design-guidelines.md","declared":{"by":"https://vercel.com/.well-known/agent-skills/index.json","declaration_sha256":"b162759476cabaf75d51d07601a050990892ddf7a7063eea41ebc3e983236905","authentication":"none","params_required":null,"media":null,"safety_class":"metadata_only","safety_basis":"an instruction file an agent reads; not an operation"},"policy":{"id":"metadata","label":"Metadata","automatic":false,"invoke":"Nothing to invoke: a listing, a server card or a skill file, not an operation."},"observed":{"state":"not_attempted","verified":false,"at":null,"status":null,"content_type":null,"sha256":null,"mismatches":[],"not_attempted_because":"on another origin (github.com): only the scanned origin is called"}},{"capability_id":"cap1:f0698c088a64c409affd","protocol":"agent_skill","operation":"writing-guidelines","method":null,"endpoint":"https://github.com/vercel-labs/agent-skills/releases/download/agent-skills-063bee94c3f4df8453406c830b0a7df0f2860278/writing-guidelines.md","declared":{"by":"https://vercel.com/.well-known/agent-skills/index.json","declaration_sha256":"b162759476cabaf75d51d07601a050990892ddf7a7063eea41ebc3e983236905","authentication":"none","params_required":null,"media":null,"safety_class":"metadata_only","safety_basis":"an instruction file an agent reads; not an operation"},"policy":{"id":"metadata","label":"Metadata","automatic":false,"invoke":"Nothing to invoke: a listing, a server card or a skill file, not an operation."},"observed":{"state":"not_attempted","verified":false,"at":null,"status":null,"content_type":null,"sha256":null,"mismatches":[],"not_attempted_because":"on another origin (github.com): only the scanned origin is called"}}],"mismatches":[],"certificate":{"certificate_id":"ccap1:22c15de163e2f9fc9eb2f4fa15fc023c401312e5fe7306633b3c90fa24fc4aa6","certificate":{"kind":"crawlcheck-capability-certificate","v":1,"subject":"vercel.com","domain":"vercel.com","record":"mszfnjif4r","report":"https://crawlcheck.io/r/mszfnjif4r","manifest_sha256":"470801a742e6610a0c137aa144f6cde8a7f6dd1b48e016619cd39efbb5c8ec50","measured_at":"2026-10-04T06:00:13.652Z","verification_checked_at":"2026-10-04T06:00:20.619Z","verification_policy":"public GETs with no required input and one read-only MCP tool with no required input, on the scanned origin only; redirects recorded, not followed","invocation_rule":"capabilities are read from declarations only; nothing is invoked. Later verification may call read_only_public operations alone; every other class needs the site owner's authorisation and a test account, and unknown is never called","counts":{"declared":10,"verified":0,"mismatches":0},"items":[{"id":"cap1:9733ec1ee3c55d89b96b","protocol":"api","operation":null,"method":null,"endpoint":"https://api.vercel.com","declared_by_sha256":"95a52c67f2a195850926068c69dd8a13203b7a02b3553bc7bf50824a5af44012","safety_class":"metadata_only","policy":"metadata","observed":"not_attempted","status":null,"observed_sha256":null},{"id":"cap1:1f77b088bed949b33fe1","protocol":"agent_skill","operation":"deploy-to-vercel","method":null,"endpoint":"https://github.com/vercel-labs/agent-skills/releases/download/agent-skills-063bee94c3f4df8453406c830b0a7df0f2860278/deploy-to-vercel.tar.gz","declared_by_sha256":"b162759476cabaf75d51d07601a050990892ddf7a7063eea41ebc3e983236905","safety_class":"metadata_only","policy":"metadata","observed":"not_attempted","status":null,"observed_sha256":null},{"id":"cap1:73c82107a79edd5289c9","protocol":"agent_skill","operation":"vercel-cli-with-tokens","method":null,"endpoint":"https://github.com/vercel-labs/agent-skills/releases/download/agent-skills-063bee94c3f4df8453406c830b0a7df0f2860278/vercel-cli-with-tokens.md","declared_by_sha256":"b162759476cabaf75d51d07601a050990892ddf7a7063eea41ebc3e983236905","safety_class":"metadata_only","policy":"metadata","observed":"not_attempted","status":null,"observed_sha256":null},{"id":"cap1:48a35263416b95f41a6c","protocol":"agent_skill","operation":"vercel-composition-patterns","method":null,"endpoint":"https://github.com/vercel-labs/agent-skills/releases/download/agent-skills-063bee94c3f4df8453406c830b0a7df0f2860278/vercel-composition-patterns.tar.gz","declared_by_sha256":"b162759476cabaf75d51d07601a050990892ddf7a7063eea41ebc3e983236905","safety_class":"metadata_only","policy":"metadata","observed":"not_attempted","status":null,"observed_sha256":null},{"id":"cap1:2189a2f5ada7de60b784","protocol":"agent_skill","operation":"vercel-optimize","method":null,"endpoint":"https://github.com/vercel-labs/agent-skills/releases/download/agent-skills-063bee94c3f4df8453406c830b0a7df0f2860278/vercel-optimize.tar.gz","declared_by_sha256":"b162759476cabaf75d51d07601a050990892ddf7a7063eea41ebc3e983236905","safety_class":"metadata_only","policy":"metadata","observed":"not_attempted","status":null,"observed_sha256":null},{"id":"cap1:2cb45b7ac433c7657108","protocol":"agent_skill","operation":"vercel-react-best-practices","method":null,"endpoint":"https://github.com/vercel-labs/agent-skills/releases/download/agent-skills-063bee94c3f4df8453406c830b0a7df0f2860278/vercel-react-best-practices.tar.gz","declared_by_sha256":"b162759476cabaf75d51d07601a050990892ddf7a7063eea41ebc3e983236905","safety_class":"metadata_only","policy":"metadata","observed":"not_attempted","status":null,"observed_sha256":null},{"id":"cap1:23a2aae358d66d924983","protocol":"agent_skill","operation":"vercel-react-native-skills","method":null,"endpoint":"https://github.com/vercel-labs/agent-skills/releases/download/agent-skills-063bee94c3f4df8453406c830b0a7df0f2860278/vercel-react-native-skills.tar.gz","declared_by_sha256":"b162759476cabaf75d51d07601a050990892ddf7a7063eea41ebc3e983236905","safety_class":"metadata_only","policy":"metadata","observed":"not_attempted","status":null,"observed_sha256":null},{"id":"cap1:4b3545b6200e9fad6833","protocol":"agent_skill","operation":"vercel-react-view-transitions","method":null,"endpoint":"https://github.com/vercel-labs/agent-skills/releases/download/agent-skills-063bee94c3f4df8453406c830b0a7df0f2860278/vercel-react-view-transitions.tar.gz","declared_by_sha256":"b162759476cabaf75d51d07601a050990892ddf7a7063eea41ebc3e983236905","safety_class":"metadata_only","policy":"metadata","observed":"not_attempted","status":null,"observed_sha256":null},{"id":"cap1:399c4b051c922c95e481","protocol":"agent_skill","operation":"web-design-guidelines","method":null,"endpoint":"https://github.com/vercel-labs/agent-skills/releases/download/agent-skills-063bee94c3f4df8453406c830b0a7df0f2860278/web-design-guidelines.md","declared_by_sha256":"b162759476cabaf75d51d07601a050990892ddf7a7063eea41ebc3e983236905","safety_class":"metadata_only","policy":"metadata","observed":"not_attempted","status":null,"observed_sha256":null},{"id":"cap1:f0698c088a64c409affd","protocol":"agent_skill","operation":"writing-guidelines","method":null,"endpoint":"https://github.com/vercel-labs/agent-skills/releases/download/agent-skills-063bee94c3f4df8453406c830b0a7df0f2860278/writing-guidelines.md","declared_by_sha256":"b162759476cabaf75d51d07601a050990892ddf7a7063eea41ebc3e983236905","safety_class":"metadata_only","policy":"metadata","observed":"not_attempted","status":null,"observed_sha256":null}],"mismatches":[]},"signature":{"alg":"Ed25519","kid":"hcIAczGf-8EFBnkunmZlvFWnD2nHHeHeC9cM4BTiBVo","certificate_sha256":"22c15de163e2f9fc9eb2f4fa15fc023c401312e5fe7306633b3c90fa24fc4aa6","message":"the UTF-8 bytes of \"crawlcheck-capability-certificate-v1\\n\" followed by certificate_sha256 (hex), where certificate_sha256 = SHA-256 of the certificate as canonical JSON (keys sorted, no whitespace)","sig":"hTaK0gaIigr1FaAo324fdOdmbc47ooj5_M_S9wtCH_421P1hDM9Nqy3zuwjvSlcUEfVt_f0G7mPzs5HYO22BAA"},"issuer":{"name":"CrawlCheck observer","key":{"jwk":{"kty":"OKP","crv":"Ed25519","x":"Ny5tAiGdpyVWTm64G1_0g_sTo4ocLL7kqjZ6cK7G5KM"},"directory":"https://crawlcheck.io/.well-known/http-message-signatures-directory"}}},"verify":"https://crawlcheck.io/api/registry/capabilities/verify?domain=vercel.com"}