{"ok":true,"kind":"crawlcheck-capability-registry-entry","v":1,"domain":"frase.io","page":"https://crawlcheck.io/registry/capabilities/frase.io","row":{"domain":"frase.io","host":"www.frase.io","report_id":"yxz1rlzzn2","scanned_at":"2026-10-05T21:18:51.358Z","manifest":"aafa2149050fd09f4d454d723e2cca9c90ed2843cbbe59838c902357af1b3eac","declared":10,"protocols":["agent_skill","mcp"],"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:22e11a21cb04bc6927a4","protocol":"mcp","operation":"server","method":null,"endpoint":"https://next.frase.io/api/mcp","declared":{"by":"https://www.frase.io/.well-known/mcp/server-card.json","declaration_sha256":"de50067e2353a7095acd4c85e595899655b5d95760b0fcd505796b09796bc633","authentication":"unknown","params_required":null,"media":null,"safety_class":"metadata_only","safety_basis":"a server declaration; its tools are listed only by the server itself (tools/list), which is not called"},"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 (next.frase.io): only the scanned origin is called"}},{"capability_id":"cap1:f06a54d01bdddd43cb22","protocol":"agent_skill","operation":"frase-ai-visibility","method":null,"endpoint":"https://www.frase.io/.well-known/agent-skills/frase-ai-visibility/SKILL.md","declared":{"by":"https://www.frase.io/.well-known/agent-skills/index.json","declaration_sha256":"fb95f3d9f802dc4be0604755caae09552e044b7f78ddd18473c48087f3dcb56a","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":"metadata: describes a surface, is not itself an action"}},{"capability_id":"cap1:863dc26c667e46ccb5f4","protocol":"agent_skill","operation":"frase-atomization","method":null,"endpoint":"https://www.frase.io/.well-known/agent-skills/frase-atomization/SKILL.md","declared":{"by":"https://www.frase.io/.well-known/agent-skills/index.json","declaration_sha256":"fb95f3d9f802dc4be0604755caae09552e044b7f78ddd18473c48087f3dcb56a","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":"metadata: describes a surface, is not itself an action"}},{"capability_id":"cap1:24ef2776ce798ed83680","protocol":"agent_skill","operation":"frase-cms-publishing","method":null,"endpoint":"https://www.frase.io/.well-known/agent-skills/frase-cms-publishing/SKILL.md","declared":{"by":"https://www.frase.io/.well-known/agent-skills/index.json","declaration_sha256":"fb95f3d9f802dc4be0604755caae09552e044b7f78ddd18473c48087f3dcb56a","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":"metadata: describes a surface, is not itself an action"}},{"capability_id":"cap1:f51c88a8cf9e20f8fd12","protocol":"agent_skill","operation":"frase-competitive-intelligence","method":null,"endpoint":"https://www.frase.io/.well-known/agent-skills/frase-competitive-intelligence/SKILL.md","declared":{"by":"https://www.frase.io/.well-known/agent-skills/index.json","declaration_sha256":"fb95f3d9f802dc4be0604755caae09552e044b7f78ddd18473c48087f3dcb56a","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":"metadata: describes a surface, is not itself an action"}},{"capability_id":"cap1:2a86ee377e199fbd2807","protocol":"agent_skill","operation":"frase-content-optimization","method":null,"endpoint":"https://www.frase.io/.well-known/agent-skills/frase-content-optimization/SKILL.md","declared":{"by":"https://www.frase.io/.well-known/agent-skills/index.json","declaration_sha256":"fb95f3d9f802dc4be0604755caae09552e044b7f78ddd18473c48087f3dcb56a","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":"metadata: describes a surface, is not itself an action"}},{"capability_id":"cap1:02291442a54b6f64cee8","protocol":"agent_skill","operation":"frase-content-pipeline","method":null,"endpoint":"https://www.frase.io/.well-known/agent-skills/frase-content-pipeline/SKILL.md","declared":{"by":"https://www.frase.io/.well-known/agent-skills/index.json","declaration_sha256":"fb95f3d9f802dc4be0604755caae09552e044b7f78ddd18473c48087f3dcb56a","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":"metadata: describes a surface, is not itself an action"}},{"capability_id":"cap1:fa99b6085f9794a1e73c","protocol":"agent_skill","operation":"frase-geo-optimization","method":null,"endpoint":"https://www.frase.io/.well-known/agent-skills/frase-geo-optimization/SKILL.md","declared":{"by":"https://www.frase.io/.well-known/agent-skills/index.json","declaration_sha256":"fb95f3d9f802dc4be0604755caae09552e044b7f78ddd18473c48087f3dcb56a","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":"metadata: describes a surface, is not itself an action"}},{"capability_id":"cap1:e74c6900d607d88b4cf7","protocol":"agent_skill","operation":"frase-playbook-automation","method":null,"endpoint":"https://www.frase.io/.well-known/agent-skills/frase-playbook-automation/SKILL.md","declared":{"by":"https://www.frase.io/.well-known/agent-skills/index.json","declaration_sha256":"fb95f3d9f802dc4be0604755caae09552e044b7f78ddd18473c48087f3dcb56a","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":"metadata: describes a surface, is not itself an action"}},{"capability_id":"cap1:da96dee3830c5a91cfad","protocol":"agent_skill","operation":"frase-seo-audit","method":null,"endpoint":"https://www.frase.io/.well-known/agent-skills/frase-seo-audit/SKILL.md","declared":{"by":"https://www.frase.io/.well-known/agent-skills/index.json","declaration_sha256":"fb95f3d9f802dc4be0604755caae09552e044b7f78ddd18473c48087f3dcb56a","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":"metadata: describes a surface, is not itself an action"}}],"mismatches":[],"certificate":{"certificate_id":"ccap1:c66b5b6b9f67992ca17dcaa616cff9cd9ecbce55728ee177aea01115f795777f","certificate":{"kind":"crawlcheck-capability-certificate","v":1,"subject":"www.frase.io","domain":"frase.io","record":"yxz1rlzzn2","report":"https://crawlcheck.io/r/yxz1rlzzn2","manifest_sha256":"aafa2149050fd09f4d454d723e2cca9c90ed2843cbbe59838c902357af1b3eac","measured_at":"2026-10-05T21:18:51.358Z","verification_checked_at":"2026-10-05T21:18:55.955Z","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:22e11a21cb04bc6927a4","protocol":"mcp","operation":"server","method":null,"endpoint":"https://next.frase.io/api/mcp","declared_by_sha256":"de50067e2353a7095acd4c85e595899655b5d95760b0fcd505796b09796bc633","safety_class":"metadata_only","policy":"metadata","observed":"not_attempted","status":null,"observed_sha256":null},{"id":"cap1:f06a54d01bdddd43cb22","protocol":"agent_skill","operation":"frase-ai-visibility","method":null,"endpoint":"https://www.frase.io/.well-known/agent-skills/frase-ai-visibility/SKILL.md","declared_by_sha256":"fb95f3d9f802dc4be0604755caae09552e044b7f78ddd18473c48087f3dcb56a","safety_class":"metadata_only","policy":"metadata","observed":"not_attempted","status":null,"observed_sha256":null},{"id":"cap1:863dc26c667e46ccb5f4","protocol":"agent_skill","operation":"frase-atomization","method":null,"endpoint":"https://www.frase.io/.well-known/agent-skills/frase-atomization/SKILL.md","declared_by_sha256":"fb95f3d9f802dc4be0604755caae09552e044b7f78ddd18473c48087f3dcb56a","safety_class":"metadata_only","policy":"metadata","observed":"not_attempted","status":null,"observed_sha256":null},{"id":"cap1:24ef2776ce798ed83680","protocol":"agent_skill","operation":"frase-cms-publishing","method":null,"endpoint":"https://www.frase.io/.well-known/agent-skills/frase-cms-publishing/SKILL.md","declared_by_sha256":"fb95f3d9f802dc4be0604755caae09552e044b7f78ddd18473c48087f3dcb56a","safety_class":"metadata_only","policy":"metadata","observed":"not_attempted","status":null,"observed_sha256":null},{"id":"cap1:f51c88a8cf9e20f8fd12","protocol":"agent_skill","operation":"frase-competitive-intelligence","method":null,"endpoint":"https://www.frase.io/.well-known/agent-skills/frase-competitive-intelligence/SKILL.md","declared_by_sha256":"fb95f3d9f802dc4be0604755caae09552e044b7f78ddd18473c48087f3dcb56a","safety_class":"metadata_only","policy":"metadata","observed":"not_attempted","status":null,"observed_sha256":null},{"id":"cap1:2a86ee377e199fbd2807","protocol":"agent_skill","operation":"frase-content-optimization","method":null,"endpoint":"https://www.frase.io/.well-known/agent-skills/frase-content-optimization/SKILL.md","declared_by_sha256":"fb95f3d9f802dc4be0604755caae09552e044b7f78ddd18473c48087f3dcb56a","safety_class":"metadata_only","policy":"metadata","observed":"not_attempted","status":null,"observed_sha256":null},{"id":"cap1:02291442a54b6f64cee8","protocol":"agent_skill","operation":"frase-content-pipeline","method":null,"endpoint":"https://www.frase.io/.well-known/agent-skills/frase-content-pipeline/SKILL.md","declared_by_sha256":"fb95f3d9f802dc4be0604755caae09552e044b7f78ddd18473c48087f3dcb56a","safety_class":"metadata_only","policy":"metadata","observed":"not_attempted","status":null,"observed_sha256":null},{"id":"cap1:fa99b6085f9794a1e73c","protocol":"agent_skill","operation":"frase-geo-optimization","method":null,"endpoint":"https://www.frase.io/.well-known/agent-skills/frase-geo-optimization/SKILL.md","declared_by_sha256":"fb95f3d9f802dc4be0604755caae09552e044b7f78ddd18473c48087f3dcb56a","safety_class":"metadata_only","policy":"metadata","observed":"not_attempted","status":null,"observed_sha256":null},{"id":"cap1:e74c6900d607d88b4cf7","protocol":"agent_skill","operation":"frase-playbook-automation","method":null,"endpoint":"https://www.frase.io/.well-known/agent-skills/frase-playbook-automation/SKILL.md","declared_by_sha256":"fb95f3d9f802dc4be0604755caae09552e044b7f78ddd18473c48087f3dcb56a","safety_class":"metadata_only","policy":"metadata","observed":"not_attempted","status":null,"observed_sha256":null},{"id":"cap1:da96dee3830c5a91cfad","protocol":"agent_skill","operation":"frase-seo-audit","method":null,"endpoint":"https://www.frase.io/.well-known/agent-skills/frase-seo-audit/SKILL.md","declared_by_sha256":"fb95f3d9f802dc4be0604755caae09552e044b7f78ddd18473c48087f3dcb56a","safety_class":"metadata_only","policy":"metadata","observed":"not_attempted","status":null,"observed_sha256":null}],"mismatches":[]},"signature":{"alg":"Ed25519","kid":"hcIAczGf-8EFBnkunmZlvFWnD2nHHeHeC9cM4BTiBVo","certificate_sha256":"c66b5b6b9f67992ca17dcaa616cff9cd9ecbce55728ee177aea01115f795777f","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":"B7TlfS2ZlTz--1HAxnL_4wxXLC7aKS3TNntfug719-w9Ujm0TBb8fVUQms1RYERROCVhWSDhFhu7Dcfi6mtBCw"},"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=frase.io"}