{"serviceContract":{"role":"Shared lexical service for Vanagon and Gerry. Preserved Vanagon.com bus terminology and mailing-list slang, separately sourced contemporary parts references, and clearly labeled machine-assisted translations.","repository":"https://github.com/mbarbine/vanagon-dictionary","origin":"https://dictionary.vanagon.com","consumers":{"vanagon":"https://vanagon.com","gerry":"https://gerry.vanagon.com"},"productionOrigins":{"dictionary":"https://dictionary.vanagon.com","vanagon":"https://vanagon.com","gerry":"https://gerry.vanagon.com"},"productionActivation":"Configured for dictionary.vanagon.com with the retained dictionary.ja1.io alias. Consult deployment acceptance evidence for current DNS/TLS status.","ownership":{"dictionary":"Canonical terms, definitions, translations, provenance, editorial revisions, lexical APIs and exports.","vanagon":"Historical page/capture presentation, editorial pages, navigation, and its own feeds and protocols.","gerry":"Messages, discussions, archives, community accounts, and its own feeds and protocols."},"independentServices":"Shared community footer and lexical service; each site retains its own feeds, API/MCP registry, credentials, and deployment. Dictionary RSS/Atom publishes dictionary events only; it does not mirror Vanagon or Gerry activity.","backendStatus":"Cloudflare Workers and D1 are the only configured persistence and operational backend. The API Worker also configures Queues, R2, Workflows, and Workers AI. The Neon client, legacy docs publisher, and optional Trace/Graph/event-sink destinations were removed. Frontend data routes delegate to the canonical Cloudflare Dictionary API Worker; the legacy SQL compatibility shim fails closed. Gerry’s bounded public archive-search API remains a first-party read integration and does not store Dictionary data.","gerryContext":"The Dictionary queries Gerry’s bounded public community-search API for up to three contextual matches and links to Gerry’s full archive search. Gerry remains the sole owner of those messages; matches are not imported definitions or reviewed lexical relationships.","serviceReads":"Dictionary service reads and ordinary proxies bound the wait for headers and response bytes to 10 seconds; Gerry context reads use 6 seconds. Federated search preserves available source results and labels unavailable sources. Requests are not retried automatically. Proxy request bodies have a separate 10-second deadline (408 REQUEST_TIMEOUT before dispatch); protected snapshot dispatch retains its 60-second deadline. A timeout after dispatch does not prove a mutation was rolled back; inspect its receipt before retrying.","mcpCompatibility":"The Dictionary, Gerry, and Vanagon MCP registries are independent. Dictionary exposes stateless Streamable HTTP at /api/mcp/streamable for MCP 2026-07-28 modern clients and preserves 2025-03-26 legacy Streamable HTTP behavior on the same endpoint; both paths use the same read-only registry. Both eras passed official SDK acceptance on dictionary.ja1.io after deployment. The legacy JSON-RPC endpoints /api/mcp and /api/v1/mcp remain available (2024-11-05). Gerry and Vanagon expose their independent Streamable HTTP registries at /api/mcp. Cross-service MCP tool invocation is not configured; lexical integrations use the public Dictionary REST API and Gerry community-search API.","contributions":"Dictionary browser drafts remain local. Authenticated Gerry members can submit genuine editorial proposals through the restricted service binding. Proposals remain pending until separately reviewed and applied; receipt acceptance is not publication. Operator writes require the server-configured key.","shortDefinitions":"Canonical lexical reads include nullable short_definition from the selected definition locale. Only separately recorded, bounded text is returned; absent summaries are not generated. Protected publication, import and edits support this field. Explicit null clears it. Legacy submission notes remain private; only their recorded short text is projected. Historical originals remain immutable.","definitionHistory":"GET /api/v1/definitions/{id}/history is an operator-only, no-store read of retained definition snapshots. Older unrecorded changes are not reconstructed. Snapshots can include removed or private content and never enter public search, feeds or MCP. Optional expectedRevision on protected edits rejects stale writes without mutation. See OpenAPI for limits and coverage.","translationPolicy":"Machine-assisted drafts are not human-reviewed. Missing translations return explicitly labeled source English.","termLabels":"Canonical term detail, search, browse, category/tag and author reads include term_label: a recorded requested-locale name with an eligible definition, or explicit canonical_fallback in the origin locale. Canonical IDs, URLs and alphabetical order remain unchanged. Repeated canonical labels do not establish translation coverage; label review state is unrecorded. Differing recorded names appear alongside canonical headings. This read contract does not add editorial label writes or invent translations.","sourceReferences":"GET /api/v1/terms/{slug}/sources and MCP get_term_sources enumerate recorded public definition citations and applied source annotations. Omit locale for all definition languages; explicit locale does not substitute English. References preserve record identity and source/capture provenance, are not fetched, and do not certify technical correctness. Follow nextOffset and omitted_invalid_references; unavailable storage never substitutes seed citations."},"id":"platphorm-dictionary-agent-policy","site":"https://dictionary.vanagon.com","version":"2026-10-26.vanagon.shared-service","publicAccess":"Public-safe dictionary pages, approved definitions, discovery files, docs, OpenAPI, RSS/feed/sitemap, health summaries, and API/MCP introspection are open by default.","protectedAccess":"Submissions, votes, removal requests, definition edits, retained definition history, moderation, import, admin, audit logs, reports, registry mutation, and destructive actions require PLATPHORM_API_KEY.","allowedPlatforms":["openai","anthropic","xai","meta","google","microsoft","perplexity","apple","mcp-clients","browser-agents","generic-crawlers"],"disallowedPlatforms":[],"defaultCrawlerPolicy":"allow_public for public-safe pages and discovery, protected_required for private/admin/mutation paths.","defaultAgentPolicy":"allow_public for read-only dictionary, discovery, API docs, OpenAPI, llms, RSS, sitemap, and MCP introspection; protected_required for moderation/admin/import/sync/reporting.","robotsPolicy":"robots.txt allows public-safe crawling by default, points to sitemap and policy files, and disallows private/admin/protected/tokenized paths.","mcpPolicy":{"publicMethods":["initialize","ping","tools/list","tools/call","resources/list","resources/read","prompts/list","prompts/get"],"protectedMethods":["moderation tools","import_definitions","recalculate_rankings","policy mutation","report generation"]},"apiPolicy":{"publicRoutes":["/","/en","/terms","/trending","/popular","/recent","/random","/az","/categories","/tags","/locales","/faq","/docs","/api","/api/docs","/api/health","/api/v1/health","/api/v1/terms","/api/v1/definitions","/api/v1/definitions/*/vote","/api/v1/definitions/*/removal-requests","/api/submit","/api/v1/search","/api/v1/categories","/api/v1/tags","/api/v1/locales","/api/v1/recent","/api/v1/popular","/api/v1/trending","/api/v1/stats","/api/v1/agent-policy","/api/v1/agent-policy/platforms","/api/v1/agent-policy/robots","/api/v1/agent-policy/summary","/api/mcp","/openapi.yaml","/openapi.json","/llms.txt","/llms-full.txt","/llms-index.json","/robots.txt","/humans.txt","/sitemap.xml","/sitemap-main.xml","/sitemap-index.xml","/rss.xml","/feed.xml","/manifest.webmanifest","/privacy","/terms","/data-policy","/principles","/open-source","/.well-known/mcp.json","/.well-known/agents.json","/.well-known/agent-policy.json","/.well-known/ai-policy.json","/.well-known/ai-plugin.json","/.well-known/trust.json","/.well-known/security.txt"],"limitedBrowserTelemetry":{"path":"/api/v1/activity","method":"POST","purpose":"Anonymous visible term and search-match counts only; same-origin/browser/privacy checks, rate limits and deduplication required. Automation must not submit activity. No lexical or vote mutation."},"protectedRoutes":["/api/v1/recovery","/admin","/api/admin","/api/private","/api/protected","/api/telemetry/404","/api/webhooks","/api/definitions/*/report","/api/moderation","/api/v1/ingest","/api/v1/import","/api/v1/moderation","/api/v1/rankings/recalculate","/api/v1/definitions/*/history","/api/v1/definitions/*/approve","/api/v1/definitions/*/flag","/api/v1/definitions/*/reject","/api/v1/removal-requests","/api/v1/removal-requests/*/approve","/api/v1/removal-requests/*/reject","/api/v1/reports","/api/v1/audit","/api/v1/workflows"]},"contentUsePolicy":"Approved public dictionary content may be crawled, searched, cited, summarized, and used by answer engines with attribution to canonical URLs. Pending/rejected/private moderation data is not public content.","attributionPolicy":"Quote, summarize, or reuse archived definitions with attribution to Vanagon.com, the preserved source URL, and the canonical dictionary term URL where practical.","rateLimitPolicy":"Public clients should keep reads bounded. Protected writes require PLATPHORM_API_KEY and may be throttled.","trainingPolicy":"Public reading and citation do not establish a blanket training license. Respect each source's rights, attribution, and restrictions. Private and protected content is excluded.","searchPolicy":"Search indexing and answer-engine use are allowed for public-safe pages and discovery files with canonical URL attribution.","answerEnginePolicy":"Answer engines may cite and summarize approved public definitions. They must not represent pending, rejected, private, or generated suggestions as approved content.","tracePolicy":"W3C trace context and PlatPhorm trace headers are accepted and propagated for platform operations without secrets in trace state or baggage.","ja4DigestPolicy":"Raw fingerprint values are not published in public dictionary artifacts.","updatedAt":"2026-10-26T00:00:00.000Z","platforms":[{"allowedPaths":["/","/en","/docs","/api/docs","/openapi.yaml","/openapi.json","/llms.txt","/llms-full.txt","/llms-index.json","/robots.txt","/humans.txt","/sitemap.xml","/sitemap-main.xml","/sitemap-index.xml","/rss.xml","/feed.xml","/manifest.webmanifest","/.well-known/mcp.json","/.well-known/agents.json","/.well-known/agent-policy.json","/.well-known/ai-policy.json","/.well-known/ai-plugin.json","/.well-known/trust.json","/.well-known/security.txt"],"disallowedPaths":["/admin","/_next/server","/api/*/admin","/api/*/private","/api/*/protected","/*?token=","/*?key=","/*?secret="],"protectedPaths":["/api/v1/recovery","/admin","/api/admin","/api/private","/api/protected","/api/telemetry/404","/api/webhooks","/api/definitions/*/report","/api/moderation","/api/v1/ingest","/api/v1/import","/api/v1/moderation","/api/v1/rankings/recalculate","/api/v1/definitions/*/history","/api/v1/definitions/*/approve","/api/v1/definitions/*/flag","/api/v1/definitions/*/reject","/api/v1/removal-requests","/api/v1/removal-requests/*/approve","/api/v1/removal-requests/*/reject","/api/v1/reports","/api/v1/audit","/api/v1/workflows"],"lastVerifiedAt":"2026-10-26T00:00:00.000Z","id":"openai","displayName":"OpenAI / ChatGPT","organization":"OpenAI","category":"ai_search_agent_crawler","knownUserAgents":["GPTBot","OAI-SearchBot","ChatGPT-User"],"officialDocsUrl":"https://platform.openai.com/docs/bots","verificationStatus":"official","defaultPolicy":"allow_public","crawlDelay":null,"rateLimitHint":"Public-safe reads may be cached and rate limited; aggressive fetching may be throttled.","attributionRequired":true,"trainingAllowed":true,"searchIndexingAllowed":true,"answerUseAllowed":true,"apiAccessAllowed":true,"mcpAccessAllowed":true,"notes":"Official bot family names are sourced from OpenAI crawler documentation. Public-safe pages, discovery files, API docs, OpenAPI, llms files, RSS/sitemap, and read-only MCP introspection are allowed; private and mutating routes remain protected.","sourceConfidence":"high"},{"allowedPaths":["/","/en","/docs","/api/docs","/openapi.yaml","/openapi.json","/llms.txt","/llms-full.txt","/llms-index.json","/robots.txt","/humans.txt","/sitemap.xml","/sitemap-main.xml","/sitemap-index.xml","/rss.xml","/feed.xml","/manifest.webmanifest","/.well-known/mcp.json","/.well-known/agents.json","/.well-known/agent-policy.json","/.well-known/ai-policy.json","/.well-known/ai-plugin.json","/.well-known/trust.json","/.well-known/security.txt"],"disallowedPaths":["/admin","/_next/server","/api/*/admin","/api/*/private","/api/*/protected","/*?token=","/*?key=","/*?secret="],"protectedPaths":["/api/v1/recovery","/admin","/api/admin","/api/private","/api/protected","/api/telemetry/404","/api/webhooks","/api/definitions/*/report","/api/moderation","/api/v1/ingest","/api/v1/import","/api/v1/moderation","/api/v1/rankings/recalculate","/api/v1/definitions/*/history","/api/v1/definitions/*/approve","/api/v1/definitions/*/flag","/api/v1/definitions/*/reject","/api/v1/removal-requests","/api/v1/removal-requests/*/approve","/api/v1/removal-requests/*/reject","/api/v1/reports","/api/v1/audit","/api/v1/workflows"],"lastVerifiedAt":"2026-10-26T00:00:00.000Z","id":"anthropic","displayName":"Anthropic / Claude","organization":"Anthropic","category":"ai_agent_crawler","knownUserAgents":["ClaudeBot","Claude-User","Claude-SearchBot"],"officialDocsUrl":"https://support.anthropic.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler","verificationStatus":"official","defaultPolicy":"allow_public","crawlDelay":null,"rateLimitHint":"Public-safe reads may be cached and rate limited; aggressive fetching may be throttled.","attributionRequired":true,"trainingAllowed":true,"searchIndexingAllowed":true,"answerUseAllowed":true,"apiAccessAllowed":true,"mcpAccessAllowed":true,"notes":"Official crawler-control documentation was available at implementation time; no private, admin, pending, rejected, or mutation surfaces are public.","sourceConfidence":"high"},{"allowedPaths":["/","/en","/docs","/api/docs","/openapi.yaml","/openapi.json","/llms.txt","/llms-full.txt","/llms-index.json","/robots.txt","/humans.txt","/sitemap.xml","/sitemap-main.xml","/sitemap-index.xml","/rss.xml","/feed.xml","/manifest.webmanifest","/.well-known/mcp.json","/.well-known/agents.json","/.well-known/agent-policy.json","/.well-known/ai-policy.json","/.well-known/ai-plugin.json","/.well-known/trust.json","/.well-known/security.txt"],"disallowedPaths":["/admin","/_next/server","/api/*/admin","/api/*/private","/api/*/protected","/*?token=","/*?key=","/*?secret="],"protectedPaths":["/api/v1/recovery","/admin","/api/admin","/api/private","/api/protected","/api/telemetry/404","/api/webhooks","/api/definitions/*/report","/api/moderation","/api/v1/ingest","/api/v1/import","/api/v1/moderation","/api/v1/rankings/recalculate","/api/v1/definitions/*/history","/api/v1/definitions/*/approve","/api/v1/definitions/*/flag","/api/v1/definitions/*/reject","/api/v1/removal-requests","/api/v1/removal-requests/*/approve","/api/v1/removal-requests/*/reject","/api/v1/reports","/api/v1/audit","/api/v1/workflows"],"lastVerifiedAt":"2026-10-26T00:00:00.000Z","id":"xai","displayName":"xAI / Grok","organization":"xAI","category":"ai_platform","knownUserAgents":[],"officialDocsUrl":"https://docs.x.ai/","verificationStatus":"unknown","defaultPolicy":"allow_public","crawlDelay":null,"rateLimitHint":"Public-safe reads may be cached and rate limited; user-agent details are not asserted without crawler documentation.","attributionRequired":true,"trainingAllowed":null,"searchIndexingAllowed":true,"answerUseAllowed":true,"apiAccessAllowed":true,"mcpAccessAllowed":true,"notes":"Official xAI platform docs are recorded, but crawler user-agent names were not verified in repo-time implementation.","sourceConfidence":"unknown"},{"allowedPaths":["/","/en","/docs","/api/docs","/openapi.yaml","/openapi.json","/llms.txt","/llms-full.txt","/llms-index.json","/robots.txt","/humans.txt","/sitemap.xml","/sitemap-main.xml","/sitemap-index.xml","/rss.xml","/feed.xml","/manifest.webmanifest","/.well-known/mcp.json","/.well-known/agents.json","/.well-known/agent-policy.json","/.well-known/ai-policy.json","/.well-known/ai-plugin.json","/.well-known/trust.json","/.well-known/security.txt"],"disallowedPaths":["/admin","/_next/server","/api/*/admin","/api/*/private","/api/*/protected","/*?token=","/*?key=","/*?secret="],"protectedPaths":["/api/v1/recovery","/admin","/api/admin","/api/private","/api/protected","/api/telemetry/404","/api/webhooks","/api/definitions/*/report","/api/moderation","/api/v1/ingest","/api/v1/import","/api/v1/moderation","/api/v1/rankings/recalculate","/api/v1/definitions/*/history","/api/v1/definitions/*/approve","/api/v1/definitions/*/flag","/api/v1/definitions/*/reject","/api/v1/removal-requests","/api/v1/removal-requests/*/approve","/api/v1/removal-requests/*/reject","/api/v1/reports","/api/v1/audit","/api/v1/workflows"],"lastVerifiedAt":"2026-10-26T00:00:00.000Z","id":"meta","displayName":"Meta / Meta AI","organization":"Meta","category":"ai_platform_crawler","knownUserAgents":[],"officialDocsUrl":"https://developers.facebook.com/docs/sharing/webmasters/crawler","verificationStatus":"unknown","defaultPolicy":"allow_public","crawlDelay":null,"rateLimitHint":"Public-safe reads may be cached and rate limited; user-agent details are not asserted without crawler documentation verification.","attributionRequired":true,"trainingAllowed":null,"searchIndexingAllowed":true,"answerUseAllowed":true,"apiAccessAllowed":true,"mcpAccessAllowed":true,"notes":"Meta crawler documentation URL is recorded, but exact Meta AI crawler user-agent tokens are intentionally not asserted here.","sourceConfidence":"unknown"},{"allowedPaths":["/","/en","/docs","/api/docs","/openapi.yaml","/openapi.json","/llms.txt","/llms-full.txt","/llms-index.json","/robots.txt","/humans.txt","/sitemap.xml","/sitemap-main.xml","/sitemap-index.xml","/rss.xml","/feed.xml","/manifest.webmanifest","/.well-known/mcp.json","/.well-known/agents.json","/.well-known/agent-policy.json","/.well-known/ai-policy.json","/.well-known/ai-plugin.json","/.well-known/trust.json","/.well-known/security.txt"],"disallowedPaths":["/admin","/_next/server","/api/*/admin","/api/*/private","/api/*/protected","/*?token=","/*?key=","/*?secret="],"protectedPaths":["/api/v1/recovery","/admin","/api/admin","/api/private","/api/protected","/api/telemetry/404","/api/webhooks","/api/definitions/*/report","/api/moderation","/api/v1/ingest","/api/v1/import","/api/v1/moderation","/api/v1/rankings/recalculate","/api/v1/definitions/*/history","/api/v1/definitions/*/approve","/api/v1/definitions/*/flag","/api/v1/definitions/*/reject","/api/v1/removal-requests","/api/v1/removal-requests/*/approve","/api/v1/removal-requests/*/reject","/api/v1/reports","/api/v1/audit","/api/v1/workflows"],"lastVerifiedAt":"2026-10-26T00:00:00.000Z","id":"google","displayName":"Google / Googlebot / Google-Extended","organization":"Google","category":"search_ai_crawler","knownUserAgents":["Googlebot","Google-Extended"],"officialDocsUrl":"https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers","verificationStatus":"official","defaultPolicy":"allow_public","crawlDelay":null,"rateLimitHint":"Respect robots.txt and public-safe rate limits.","attributionRequired":true,"trainingAllowed":true,"searchIndexingAllowed":true,"answerUseAllowed":true,"apiAccessAllowed":true,"mcpAccessAllowed":false,"notes":"Official Google crawler docs are used for the crawler family names represented here.","sourceConfidence":"high"},{"allowedPaths":["/","/en","/docs","/api/docs","/openapi.yaml","/openapi.json","/llms.txt","/llms-full.txt","/llms-index.json","/robots.txt","/humans.txt","/sitemap.xml","/sitemap-main.xml","/sitemap-index.xml","/rss.xml","/feed.xml","/manifest.webmanifest","/.well-known/mcp.json","/.well-known/agents.json","/.well-known/agent-policy.json","/.well-known/ai-policy.json","/.well-known/ai-plugin.json","/.well-known/trust.json","/.well-known/security.txt"],"disallowedPaths":["/admin","/_next/server","/api/*/admin","/api/*/private","/api/*/protected","/*?token=","/*?key=","/*?secret="],"protectedPaths":["/api/v1/recovery","/admin","/api/admin","/api/private","/api/protected","/api/telemetry/404","/api/webhooks","/api/definitions/*/report","/api/moderation","/api/v1/ingest","/api/v1/import","/api/v1/moderation","/api/v1/rankings/recalculate","/api/v1/definitions/*/history","/api/v1/definitions/*/approve","/api/v1/definitions/*/flag","/api/v1/definitions/*/reject","/api/v1/removal-requests","/api/v1/removal-requests/*/approve","/api/v1/removal-requests/*/reject","/api/v1/reports","/api/v1/audit","/api/v1/workflows"],"lastVerifiedAt":"2026-10-26T00:00:00.000Z","id":"microsoft","displayName":"Microsoft / Bing / Copilot-related public agents","organization":"Microsoft","category":"search_ai_crawler","knownUserAgents":["Bingbot"],"officialDocsUrl":"https://www.bing.com/webmasters/help/which-crawlers-does-bing-use-8c184ec0","verificationStatus":"official","defaultPolicy":"allow_public","crawlDelay":null,"rateLimitHint":"Respect robots.txt and public-safe rate limits.","attributionRequired":true,"trainingAllowed":true,"searchIndexingAllowed":true,"answerUseAllowed":true,"apiAccessAllowed":true,"mcpAccessAllowed":false,"notes":"Bingbot is listed with Microsoft's Bing Webmaster crawler documentation URL; Copilot-specific crawler names are not asserted.","sourceConfidence":"medium"},{"allowedPaths":["/","/en","/docs","/api/docs","/openapi.yaml","/openapi.json","/llms.txt","/llms-full.txt","/llms-index.json","/robots.txt","/humans.txt","/sitemap.xml","/sitemap-main.xml","/sitemap-index.xml","/rss.xml","/feed.xml","/manifest.webmanifest","/.well-known/mcp.json","/.well-known/agents.json","/.well-known/agent-policy.json","/.well-known/ai-policy.json","/.well-known/ai-plugin.json","/.well-known/trust.json","/.well-known/security.txt"],"disallowedPaths":["/admin","/_next/server","/api/*/admin","/api/*/private","/api/*/protected","/*?token=","/*?key=","/*?secret="],"protectedPaths":["/api/v1/recovery","/admin","/api/admin","/api/private","/api/protected","/api/telemetry/404","/api/webhooks","/api/definitions/*/report","/api/moderation","/api/v1/ingest","/api/v1/import","/api/v1/moderation","/api/v1/rankings/recalculate","/api/v1/definitions/*/history","/api/v1/definitions/*/approve","/api/v1/definitions/*/flag","/api/v1/definitions/*/reject","/api/v1/removal-requests","/api/v1/removal-requests/*/approve","/api/v1/removal-requests/*/reject","/api/v1/reports","/api/v1/audit","/api/v1/workflows"],"lastVerifiedAt":"2026-10-26T00:00:00.000Z","id":"perplexity","displayName":"Perplexity","organization":"Perplexity AI","category":"answer_engine_crawler","knownUserAgents":["PerplexityBot","Perplexity-User"],"officialDocsUrl":"https://docs.perplexity.ai/guides/bots","verificationStatus":"official","defaultPolicy":"allow_public","crawlDelay":null,"rateLimitHint":"Public-safe reads may be cached and rate limited; cite canonical URLs.","attributionRequired":true,"trainingAllowed":null,"searchIndexingAllowed":true,"answerUseAllowed":true,"apiAccessAllowed":true,"mcpAccessAllowed":false,"notes":"Official Perplexity bot documentation is recorded for user-agent names.","sourceConfidence":"high"},{"allowedPaths":["/","/en","/docs","/api/docs","/openapi.yaml","/openapi.json","/llms.txt","/llms-full.txt","/llms-index.json","/robots.txt","/humans.txt","/sitemap.xml","/sitemap-main.xml","/sitemap-index.xml","/rss.xml","/feed.xml","/manifest.webmanifest","/.well-known/mcp.json","/.well-known/agents.json","/.well-known/agent-policy.json","/.well-known/ai-policy.json","/.well-known/ai-plugin.json","/.well-known/trust.json","/.well-known/security.txt"],"disallowedPaths":["/admin","/_next/server","/api/*/admin","/api/*/private","/api/*/protected","/*?token=","/*?key=","/*?secret="],"protectedPaths":["/api/v1/recovery","/admin","/api/admin","/api/private","/api/protected","/api/telemetry/404","/api/webhooks","/api/definitions/*/report","/api/moderation","/api/v1/ingest","/api/v1/import","/api/v1/moderation","/api/v1/rankings/recalculate","/api/v1/definitions/*/history","/api/v1/definitions/*/approve","/api/v1/definitions/*/flag","/api/v1/definitions/*/reject","/api/v1/removal-requests","/api/v1/removal-requests/*/approve","/api/v1/removal-requests/*/reject","/api/v1/reports","/api/v1/audit","/api/v1/workflows"],"lastVerifiedAt":"2026-10-26T00:00:00.000Z","id":"apple","displayName":"Apple / Applebot","organization":"Apple","category":"search_crawler","knownUserAgents":["Applebot"],"officialDocsUrl":"https://support.apple.com/en-us/119829","verificationStatus":"official","defaultPolicy":"allow_public","crawlDelay":null,"rateLimitHint":"Respect robots.txt and public-safe rate limits.","attributionRequired":true,"trainingAllowed":null,"searchIndexingAllowed":true,"answerUseAllowed":true,"apiAccessAllowed":true,"mcpAccessAllowed":false,"notes":"Official Applebot documentation is recorded for crawler behavior.","sourceConfidence":"high"},{"allowedPaths":["/","/en","/docs","/api/docs","/openapi.yaml","/openapi.json","/llms.txt","/llms-full.txt","/llms-index.json","/robots.txt","/humans.txt","/sitemap.xml","/sitemap-main.xml","/sitemap-index.xml","/rss.xml","/feed.xml","/manifest.webmanifest","/.well-known/mcp.json","/.well-known/agents.json","/.well-known/agent-policy.json","/.well-known/ai-policy.json","/.well-known/ai-plugin.json","/.well-known/trust.json","/.well-known/security.txt"],"disallowedPaths":["/admin","/_next/server","/api/*/admin","/api/*/private","/api/*/protected","/*?token=","/*?key=","/*?secret="],"protectedPaths":["/api/v1/recovery","/admin","/api/admin","/api/private","/api/protected","/api/telemetry/404","/api/webhooks","/api/definitions/*/report","/api/moderation","/api/v1/ingest","/api/v1/import","/api/v1/moderation","/api/v1/rankings/recalculate","/api/v1/definitions/*/history","/api/v1/definitions/*/approve","/api/v1/definitions/*/flag","/api/v1/definitions/*/reject","/api/v1/removal-requests","/api/v1/removal-requests/*/approve","/api/v1/removal-requests/*/reject","/api/v1/reports","/api/v1/audit","/api/v1/workflows"],"lastVerifiedAt":"2026-10-26T00:00:00.000Z","id":"mcp-clients","displayName":"MCP clients","organization":"Model Context Protocol ecosystem","category":"mcp_client","knownUserAgents":[],"officialDocsUrl":"https://modelcontextprotocol.io/","verificationStatus":"official","defaultPolicy":"allow_public","crawlDelay":null,"rateLimitHint":"Read-only introspection is public-safe; protected tools require PLATPHORM_API_KEY.","attributionRequired":true,"trainingAllowed":null,"searchIndexingAllowed":null,"answerUseAllowed":true,"apiAccessAllowed":true,"mcpAccessAllowed":true,"notes":"initialize, ping, tools/list, resources/list, prompts/list, and public-safe read-only calls are allowed.","sourceConfidence":"high"},{"allowedPaths":["/","/en","/docs","/api/docs","/openapi.yaml","/openapi.json","/llms.txt","/llms-full.txt","/llms-index.json","/robots.txt","/humans.txt","/sitemap.xml","/sitemap-main.xml","/sitemap-index.xml","/rss.xml","/feed.xml","/manifest.webmanifest","/.well-known/mcp.json","/.well-known/agents.json","/.well-known/agent-policy.json","/.well-known/ai-policy.json","/.well-known/ai-plugin.json","/.well-known/trust.json","/.well-known/security.txt"],"disallowedPaths":["/admin","/_next/server","/api/*/admin","/api/*/private","/api/*/protected","/*?token=","/*?key=","/*?secret="],"protectedPaths":["/api/v1/recovery","/admin","/api/admin","/api/private","/api/protected","/api/telemetry/404","/api/webhooks","/api/definitions/*/report","/api/moderation","/api/v1/ingest","/api/v1/import","/api/v1/moderation","/api/v1/rankings/recalculate","/api/v1/definitions/*/history","/api/v1/definitions/*/approve","/api/v1/definitions/*/flag","/api/v1/definitions/*/reject","/api/v1/removal-requests","/api/v1/removal-requests/*/approve","/api/v1/removal-requests/*/reject","/api/v1/reports","/api/v1/audit","/api/v1/workflows"],"lastVerifiedAt":"2026-10-26T00:00:00.000Z","id":"browser-agents","displayName":"Browser automation agents","organization":"Multiple","category":"browser_agent","knownUserAgents":[],"officialDocsUrl":null,"verificationStatus":"unknown","defaultPolicy":"allow_limited","crawlDelay":2,"rateLimitHint":"Keep browsing bounded. Do not trigger moderation, import, sync, admin, or destructive actions without PLATPHORM_API_KEY.","attributionRequired":true,"trainingAllowed":null,"searchIndexingAllowed":null,"answerUseAllowed":true,"apiAccessAllowed":true,"mcpAccessAllowed":true,"notes":"Public-safe browsing, discovery, and read-only API/MCP introspection are supported.","sourceConfidence":"medium"},{"allowedPaths":["/","/en","/docs","/api/docs","/openapi.yaml","/openapi.json","/llms.txt","/llms-full.txt","/llms-index.json","/robots.txt","/humans.txt","/sitemap.xml","/sitemap-main.xml","/sitemap-index.xml","/rss.xml","/feed.xml","/manifest.webmanifest","/.well-known/mcp.json","/.well-known/agents.json","/.well-known/agent-policy.json","/.well-known/ai-policy.json","/.well-known/ai-plugin.json","/.well-known/trust.json","/.well-known/security.txt"],"disallowedPaths":["/admin","/_next/server","/api/*/admin","/api/*/private","/api/*/protected","/*?token=","/*?key=","/*?secret="],"protectedPaths":["/api/v1/recovery","/admin","/api/admin","/api/private","/api/protected","/api/telemetry/404","/api/webhooks","/api/definitions/*/report","/api/moderation","/api/v1/ingest","/api/v1/import","/api/v1/moderation","/api/v1/rankings/recalculate","/api/v1/definitions/*/history","/api/v1/definitions/*/approve","/api/v1/definitions/*/flag","/api/v1/definitions/*/reject","/api/v1/removal-requests","/api/v1/removal-requests/*/approve","/api/v1/removal-requests/*/reject","/api/v1/reports","/api/v1/audit","/api/v1/workflows"],"lastVerifiedAt":"2026-10-26T00:00:00.000Z","id":"generic-crawlers","displayName":"Generic crawlers","organization":"Multiple","category":"crawler","knownUserAgents":[],"officialDocsUrl":null,"verificationStatus":"unknown","defaultPolicy":"allow_limited","crawlDelay":5,"rateLimitHint":"Respect robots.txt. Avoid private, admin, mutation, and sensitive paths.","attributionRequired":true,"trainingAllowed":null,"searchIndexingAllowed":true,"answerUseAllowed":true,"apiAccessAllowed":false,"mcpAccessAllowed":false,"notes":"Default public-safe crawling is allowed; protected and sensitive routes are disallowed or require platform authorization.","sourceConfidence":"medium"}]}