{"service":"markdown","name":"MarkdownTree","url":"https://markdown.platphormnews.com","policy":"Public-safe Markdown editing, graph visualization, formatting, preview, local non-sensitive Markdown draft persistence, read-only MCP introspection, RSS/feed consumption, trusted-domain discovery, standard route compliance, Vercel metadata capture, backend model scaffolding, and trace-linked Markdown operations are intentionally supported for public use. PLATPHORM_API_KEY support is scaffolded for future protected backend services, server-side exports, AI enhancement calls, webhook mutation, sync, test-triggering, reporting, administrative actions, and sensitive operations.","publicSafeAccess":{"homepage":true,"editor":true,"parsing":true,"graphVisualization":true,"outline":true,"preview":true,"stats":true,"markdownHtmlJsonExports":true,"boundedShareUrl":true,"mcpIntrospection":true,"discoveryFiles":true},"futureProtectedActions":["server-side PDF and PNG exports","AI enhancement calls","webhook mutation","document persistence","sync jobs","registry mutation","trusted-domain mutation","administrative reporting"],"auth":{"enforcementEnabled":false,"acceptedHeaders":["Authorization: Bearer $PLATPHORM_API_KEY","X-PlatPhorm-API-Key: $PLATPHORM_API_KEY"],"publicSafeByDefault":true,"futureProtectedActions":["server-side PDF and PNG exports","AI enhancement calls","webhook mutation","document persistence","sync jobs","registry mutation","trusted-domain mutation","administrative reporting"]},"domainAllowlist":["*.platphormnews.com"],"localDraftPersistence":{"storageMode":"browser-local","policy":"Use browser local draft storage only for non-sensitive Markdown. PLATPHORM_API_KEY is never stored client-side."},"dataExposure":{"publicDiscovery":"No private Markdown content is published.","exports":"Exports are generated from submitted/local Markdown and not stored server-side in Phase 1.","share":"Share URLs are bounded and URL-only; no server share record is claimed.","model":"Model inputs stay server-side when providers are configured; no model provider is configured by default."},"routeStandard":{"requiredRoutes":["/api/health","/api/v1/health","/api/docs","/openapi.yaml","/openapi.json","/llms.txt","/llms-full.txt","/llms-index.json","/robots.txt","/sitemap.xml","/sitemap-main.xml","/rss.xml","/feed.xml","/manifest.webmanifest","/faq","/.well-known/mcp.json","/.well-known/agents.json","/.well-known/ai-plugin.json","/.well-known/security.txt","/.well-known/trust.json","/api/mcp"],"implementedRoutes":["/api/health","/api/v1/health","/api/docs","/openapi.yaml","/openapi.json","/llms.txt","/llms-full.txt","/llms-index.json","/robots.txt","/sitemap.xml","/sitemap-main.xml","/rss.xml","/feed.xml","/manifest.webmanifest","/faq","/.well-known/mcp.json","/.well-known/agents.json","/.well-known/ai-plugin.json","/.well-known/security.txt","/.well-known/trust.json","/api/mcp"],"unsupportedRoutes":[],"score":1,"status":"healthy"},"vercelMetadataPolicy":"Only safe Vercel request metadata may be captured; IP-like fields are hashed.","tracePropagationPolicy":"W3C traceparent/tracestate and safe PlatPhorm trace headers are accepted and propagated in responses.","securityContact":"support@platphormnews.com"}