{"service":"sheets","product":"OpenSheets / PlatPhorm Sheets","publicSafeReadOnly":true,"protectedWritesRequire":"PLATPHORM_API_KEY","platforms":["OpenAI / ChatGPT","Anthropic / Claude","xAI / Grok","Meta AI","Google","Microsoft","Perplexity","Apple","MCP clients","Browser agents","Generic crawlers"],"crawlerNames":"Exact crawler user-agent strings are not asserted unless verified by the operator.","trust":{"service":"sheets","version":"0.3.0-phase3","auth":{"platformKey":"PLATPHORM_API_KEY","acceptedHeaders":["Authorization: Bearer $PLATPHORM_API_KEY","X-PlatPhorm-API-Key: $PLATPHORM_API_KEY"]},"publicReadOnlyAccess":["homepage","browse sheets","search sheets","local previews","discovery files","health","read-only MCP introspection"],"protectedActions":["protected sheet ingestion","private export","publishing","sync","test-triggering","reporting","write actions"],"localPersistencePolicy":"Browser IndexedDB is used for non-sensitive local sheet previews when server persistence is unavailable. PLATPHORM_API_KEY and private source data must not be stored in browser storage.","readOnlyDesignPolicy":"OpenSheets never mutates source spreadsheets. Local delete/archive actions only affect the browser preview copy.","trustedDomainPolicy":"*.platphormnews.com is trusted by default; localhost, private IPs, link-local addresses, and metadata services are blocked for server-side fetch/proxy/sync behavior.","routeStandard":{"status":"partial","score":0.9696969696969697,"method":"static-self-report","checkedAt":"2026-05-25T07:47:50.847Z","routes":["/api/health","/api/v1/health","/api/docs","/openapi.yaml","/openapi.json","/openapi.json","/llms.txt","/llms-full.txt","/llms-index.json","/robots.txt","/sitemap.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/security.txt","/.well-known/trust.json","/api/mcp","/api/v1/workbooks","/api/v1/sheets","/api/v1/search","/api/v1/ingest/paste","/api/v1/ingest/url","/api/v1/analyze","/api/v1/query/preview","/api/v1/join/preview","/api/v1/integrations"],"degraded":[{"route":"/api/v1/sheets","reason":"Server-side durable sheet registry is empty until DATABASE_URL persistence is wired."}]},"vercelMetadataPolicy":"Only safe Vercel metadata is captured; auth headers, cookies, tokens, raw IPs, and request bodies are not stored in public artifacts.","tracePropagationPolicy":"W3C traceparent and safe PlatPhorm trace headers are created for sheet operations. Trace export is degraded unless a safe trace ingest target is configured.","sheetDataExposurePolicy":"Public views expose only user-imported local/public rows. Private sheets and private reports require PLATPHORM_API_KEY and durable backend policy before server exposure.","securityContact":"michael@barbineworldwide.com","requiredPolicyLine":"Web dashboard, public-safe discovery, browser-based operations, trusted-domain discovery, standard route compliance, Vercel metadata capture, trace inspection, and agentic workflow discovery are intentionally supported for public read-only debugging and operator workflows. Mutating, administrative, ingestion, replay, fork, remediation, deployment, sync, test-triggering, reporting, and write actions require PLATPHORM_API_KEY."}}