{"version":"2.1.0","updatedAt":"2026-05-18T00:00:00.000Z","allowedUserAgentFamilies":[{"id":"openai-chatgpt","name":"OpenAI / ChatGPT","category":"ai-assistant","sourceLabel":"Exact crawler/user-agent documentation was not hardcoded in this registry.","sourceUrl":null,"sourceVerified":false,"exactUserAgents":[],"policy":{"publicSafeAccess":true,"protectedActionsRequireKey":true,"notes":["Allow public pages, discovery files, API docs, OpenAPI, RSS/feed, sitemaps, and read-only MCP introspection.","Do not allow mutations, admin actions, private analytics, raw metadata, or protected MCP tools without PLATPHORM_API_KEY.","Exact crawler strings must be added only after source verification."]}},{"id":"anthropic-claude","name":"Anthropic / Claude","category":"ai-assistant","sourceLabel":"Exact crawler/user-agent documentation was not hardcoded in this registry.","sourceUrl":null,"sourceVerified":false,"exactUserAgents":[],"policy":{"publicSafeAccess":true,"protectedActionsRequireKey":true,"notes":["Allow public pages, discovery files, API docs, OpenAPI, RSS/feed, sitemaps, and read-only MCP introspection.","Do not allow mutations, admin actions, private analytics, raw metadata, or protected MCP tools without PLATPHORM_API_KEY.","Exact crawler strings must be added only after source verification."]}},{"id":"xai-grok","name":"xAI / Grok","category":"ai-assistant","sourceLabel":"Exact crawler/user-agent documentation was not hardcoded in this registry.","sourceUrl":null,"sourceVerified":false,"exactUserAgents":[],"policy":{"publicSafeAccess":true,"protectedActionsRequireKey":true,"notes":["Allow public pages, discovery files, API docs, OpenAPI, RSS/feed, sitemaps, and read-only MCP introspection.","Do not allow mutations, admin actions, private analytics, raw metadata, or protected MCP tools without PLATPHORM_API_KEY.","Exact crawler strings must be added only after source verification."]}},{"id":"meta-meta-ai","name":"Meta / Meta AI","category":"ai-assistant","sourceLabel":"Exact crawler/user-agent documentation was not hardcoded in this registry.","sourceUrl":null,"sourceVerified":false,"exactUserAgents":[],"policy":{"publicSafeAccess":true,"protectedActionsRequireKey":true,"notes":["Allow public pages, discovery files, API docs, OpenAPI, RSS/feed, sitemaps, and read-only MCP introspection.","Do not allow mutations, admin actions, private analytics, raw metadata, or protected MCP tools without PLATPHORM_API_KEY.","Exact crawler strings must be added only after source verification."]}},{"id":"google","name":"Google","category":"search","sourceLabel":"Exact crawler/user-agent documentation was not hardcoded in this registry.","sourceUrl":null,"sourceVerified":false,"exactUserAgents":[],"policy":{"publicSafeAccess":true,"protectedActionsRequireKey":true,"notes":["Allow public pages, discovery files, API docs, OpenAPI, RSS/feed, sitemaps, and read-only MCP introspection.","Do not allow mutations, admin actions, private analytics, raw metadata, or protected MCP tools without PLATPHORM_API_KEY.","Exact crawler strings must be added only after source verification."]}},{"id":"microsoft","name":"Microsoft","category":"search","sourceLabel":"Exact crawler/user-agent documentation was not hardcoded in this registry.","sourceUrl":null,"sourceVerified":false,"exactUserAgents":[],"policy":{"publicSafeAccess":true,"protectedActionsRequireKey":true,"notes":["Allow public pages, discovery files, API docs, OpenAPI, RSS/feed, sitemaps, and read-only MCP introspection.","Do not allow mutations, admin actions, private analytics, raw metadata, or protected MCP tools without PLATPHORM_API_KEY.","Exact crawler strings must be added only after source verification."]}},{"id":"perplexity","name":"Perplexity","category":"search","sourceLabel":"Exact crawler/user-agent documentation was not hardcoded in this registry.","sourceUrl":null,"sourceVerified":false,"exactUserAgents":[],"policy":{"publicSafeAccess":true,"protectedActionsRequireKey":true,"notes":["Allow public pages, discovery files, API docs, OpenAPI, RSS/feed, sitemaps, and read-only MCP introspection.","Do not allow mutations, admin actions, private analytics, raw metadata, or protected MCP tools without PLATPHORM_API_KEY.","Exact crawler strings must be added only after source verification."]}},{"id":"apple","name":"Apple","category":"ai-assistant","sourceLabel":"Exact crawler/user-agent documentation was not hardcoded in this registry.","sourceUrl":null,"sourceVerified":false,"exactUserAgents":[],"policy":{"publicSafeAccess":true,"protectedActionsRequireKey":true,"notes":["Allow public pages, discovery files, API docs, OpenAPI, RSS/feed, sitemaps, and read-only MCP introspection.","Do not allow mutations, admin actions, private analytics, raw metadata, or protected MCP tools without PLATPHORM_API_KEY.","Exact crawler strings must be added only after source verification."]}},{"id":"mcp-clients","name":"MCP clients","category":"mcp-client","sourceLabel":"Generic MCP client category; exact client strings are intentionally not assumed.","sourceUrl":null,"sourceVerified":false,"exactUserAgents":[],"policy":{"publicSafeAccess":true,"protectedActionsRequireKey":true,"notes":["Read-only MCP methods are public-safe; protected tools require PLATPHORM_API_KEY."]}},{"id":"browser-agents","name":"Browser agents","category":"browser-agent","sourceLabel":"Generic browser automation category.","sourceUrl":null,"sourceVerified":false,"exactUserAgents":[],"policy":{"publicSafeAccess":true,"protectedActionsRequireKey":true,"notes":["Browser agents may inspect public pages and public discovery files; triggering runs or protected actions requires PLATPHORM_API_KEY."]}},{"id":"generic-crawlers","name":"Generic crawlers","category":"crawler","sourceLabel":"Robots policy applies without naming unsupported crawler identities.","sourceUrl":null,"sourceVerified":false,"exactUserAgents":[],"policy":{"publicSafeAccess":true,"protectedActionsRequireKey":true,"notes":["Respect robots.txt disallow paths and public/protected boundaries."]}}],"allowedPlatforms":["OpenAI / ChatGPT","Anthropic / Claude","xAI / Grok","Meta / Meta AI","Google","Microsoft","Perplexity","Apple","MCP clients","Browser agents","Generic crawlers"],"allowedPublicSafeOperations":["Fetch public pages, RSS/feed, sitemaps, API docs, OpenAPI, llms files, health summary, public language metadata, widget schema, and read-only MCP introspection.","Use public bounded translation endpoints and clearly preserve degraded translation labels."],"disallowedOperations":["Private analytics, raw request metadata, raw x-vercel-ja4-digest, mutation, admin, import/sync, report generation, registry mutation, protected model calls, protected MCP tools."],"protectedOperations":["/admin","/api/admin","/api/private","/api/protected","/api/v1/analytics?view=events","/api/v1/widget/registry","/api/v1/reports","/api/v1/refresh","/api/mcp protected tools"],"rateLimits":{"publicPerMinute":10,"operatorPerMinute":60},"crawlDelayGuidance":"Use conservative crawling and prefer sitemap.xml and llms-index.json.","fetchLimits":{"maxBatchTranslationItems":25,"publicTextLimit":2000,"operatorTextLimit":5000},"attributionRequirements":"Cite Reader and link to reader.platphormnews.com.","contentUsePolicy":"Public content and metadata may be used for indexing, search answers, and accessible reading assistance with attribution.","trainingUsePreference":"Respect robots.txt and public/protected boundaries.","searchAnswerUsePreference":"Allowed for public content with citation.","apiMcpUsePolicy":"Read-only MCP introspection is public-safe. Protected MCP tools require PLATPHORM_API_KEY.","robotsTxtAlignment":"https://reader.platphormnews.com/robots.txt","openapiAlignment":"https://reader.platphormnews.com/openapi.json","mcpAlignment":"https://reader.platphormnews.com/api/mcp","traceRequirements":["W3C traceparent accepted and propagated where available."],"ja4DigestHandling":"Hash/redact x-vercel-ja4-digest outside protected/internal contexts; never publish raw values.","dataRetentionExpectations":"Do not retain private text from public endpoints. Analytics stores public-safe aggregate metadata only.","noSecretNoPrivateDataRequirements":true}