{"service":"spec-workbench","baseUrl":"https://spec.platphormnews.com","auth":{"key":"PLATPHORM_API_KEY","acceptedHeaders":["Authorization: Bearer $PLATPHORM_API_KEY","X-PlatPhorm-API-Key: $PLATPHORM_API_KEY"]},"publicReadOnlyAccess":["workbench shell","public validation of pasted specs","public templates","public discovery files","health summaries","route compliance summaries","read-only MCP introspection"],"protectedActions":["POST /api/v1/specs","PUT /api/v1/specs/{id}","DELETE /api/v1/specs/{id}","POST /api/v1/specs/{id}/versions","PUT /api/v1/contracts/{id}","DELETE /api/v1/contracts/{id}","POST /api/v1/handoffs/dispatch","POST /api/v1/artifacts/{id}/send-to/{service}","POST /api/v1/jobs/{id}/cancel","POST /api/v1/release-gates","POST /api/v1/webhooks/send-to-evals","POST /api/v1/webhooks/send-to-sandbox","POST /api/v1/mcp/publish-tool","POST /api/v1/agentui/send-form","POST /api/v1/sandbox/run-test","POST /api/v1/evals/trigger","POST /api/v1/monitor/publish-validation-summary","POST /api/v1/network/spec-sources/sync","POST /api/v1/sitemaps/sync","POST /api/v1/feeds/sync","POST /api/v1/reports/docs","POST /api/v1/reports/sheets","POST /api/v1/reports/decks"],"trustedDomains":{"defaultAllowlist":["platphormnews.com","*.platphormnews.com"],"externalPolicy":"External spec imports require explicit allowlisting through SPEC_EXTERNAL_IMPORT_ALLOWLIST.","blocked":["localhost","private IP ranges","link-local addresses","metadata service addresses"]},"routeStandard":["/","/workbench","/validate","/diff","/repair","/generate","/import","/registry","/versions","/conformance","/release-gates","/templates","/templates/openapi","/templates/asyncapi","/templates/json-schema","/templates/mcp","/templates/webhook","/webhooks","/events","/asyncapi","/mcp","/agentui","/sandbox","/evals","/browserops","/monitor","/trace","/reports","/discovery","/demo","/integrations","/integrations/webhooks","/integrations/sandbox","/integrations/mcp","/integrations/agentui","/integrations/monitor","/clients/cli","/clients/ide","/clients/vscode","/clients/cursor","/clients/codex","/clients/mcp","/ide","/docs","/status","/roadmap","/faq","/changelog","/api/health","/api/v1/health","/api/docs","/api/v1/docs","/api/mcp","/api/v1/mcp","/api/network/graph","/openapi.yaml","/openapi.json","/llms.txt","/llms-full.txt","/llms-index.json","/robots.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/security.txt","/.well-known/trust.json"],"vercelMetadataPolicy":{"captured":["x-vercel-id","x-forwarded-host","x-forwarded-proto","x-vercel-ip-country","x-vercel-cache","cache-control","content-type","x-vercel-ja4-digest when present"],"redacted":["authorization","x-platphorm-api-key","cookies","session tokens","raw IP addresses","raw x-vercel-ja4-digest"],"ja4DigestPolicy":"x-vercel-ja4-digest may be used only for safe correlation after hashing or redaction and must not appear raw in public artifacts."},"tracePropagationPolicy":{"accepted":["traceparent","tracestate","X-PlatPhorm-Trace-Id","X-PlatPhorm-Request-Id"],"sourceSite":"spec","secretPolicy":"Secrets are not allowed in trace state, baggage, artifacts, logs, screenshots, or public discovery files."},"dataExposurePolicy":"Private saved specs and protected imports are not exposed publicly. Public operations return pasted content results only to the current caller.","securityContact":"security@platphormnews.com","policy":"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.","updatedAt":"2026-06-03T06:30:45.085Z"}