{"service":"fingerprint","version":"1.0.0-phase3","baseUrl":"https://fingerprint.platphormnews.com","endpoints":[{"path":"/","title":"Home","description":"Research-oriented public overview and local browser fingerprint workbench.","surface":"page","public":true,"sitemap":true},{"path":"/dashboard","title":"Dashboard","description":"Public local browser fingerprint workbench.","surface":"page","public":true,"sitemap":true},{"path":"/analysis","title":"Analysis","description":"Public deterministic headless, bot, lies, and resistance analysis.","surface":"page","public":true,"sitemap":true},{"path":"/compare","title":"Compare","description":"Local-only snapshot comparison.","surface":"page","public":true,"sitemap":true},{"path":"/stats","title":"Stats","description":"Privacy-safe aggregate statistics or degraded storage status.","surface":"page","public":true,"sitemap":true},{"path":"/components","title":"Components","description":"Fingerprint component explorer and explanations.","surface":"page","public":true,"sitemap":true},{"path":"/headless","title":"Headless","description":"Headless browser signal lab with deterministic local checks.","surface":"page","public":true,"sitemap":true},{"path":"/automation","title":"Automation","description":"Automation and bot signal lab with likelihood scoring caveats.","surface":"page","public":true,"sitemap":true},{"path":"/privacy","title":"Privacy","description":"Consent, local-only analysis, and data boundary policy.","surface":"page","public":true,"sitemap":true},{"path":"/ja4","title":"JA4","description":"JA4 digest redaction and public-safe correlation policy.","surface":"page","public":true,"sitemap":true},{"path":"/ja4m","title":"JA4M","description":"JA4M research notes for MCP and automation client signatures.","surface":"page","public":true,"sitemap":true},{"path":"/signals","title":"Signals","description":"Client trust signals and confidence definitions.","surface":"page","public":true,"sitemap":true},{"path":"/correlations","title":"Correlations","description":"Public-safe cross-site correlation status without fake matches.","surface":"page","public":true,"sitemap":true},{"path":"/integrations","title":"Integrations","description":"Atlas, Monitor, Trace, BrowserOps, Sandbox, Evals, MCP, API, and CLI integration states.","surface":"page","public":true,"sitemap":true},{"path":"/events","title":"Events","description":"Redacted event and webhook policy status.","surface":"page","public":true,"sitemap":true},{"path":"/docs","title":"Docs","description":"Human-readable API, MCP, privacy, redaction, and policy documentation.","surface":"page","public":true,"sitemap":true},{"path":"/faq","title":"FAQ","description":"Frequently asked questions about privacy-first fingerprint analysis.","surface":"page","public":true,"sitemap":true},{"path":"/clients/cli","title":"CLI","description":"platphormctl examples for Fingerprint inspection, MCP validation, policy checks, and dry-run harnesses.","surface":"page","public":true,"sitemap":true},{"path":"/education","title":"Education","description":"Browser fingerprinting education and defensive guidance.","surface":"page","public":true,"sitemap":false},{"path":"/terms","title":"Terms","description":"Public educational use terms.","surface":"page","public":true,"sitemap":false},{"path":"/disclaimer","title":"Disclaimer","description":"Educational and defensive-use limitations.","surface":"page","public":true,"sitemap":false},{"path":"/api/health","title":"Health","description":"Public health summary.","surface":"api","public":true,"sitemap":false,"method":"GET"},{"path":"/api/v1/health","title":"Health v1","description":"Versioned public health summary.","surface":"api","public":true,"sitemap":false,"method":"GET"},{"path":"/api/docs","title":"OpenAPI JSON","description":"OpenAPI JSON metadata.","surface":"api","public":true,"sitemap":true,"method":"GET"},{"path":"/api/mcp","title":"MCP","description":"JSON-RPC MCP endpoint and metadata.","surface":"api","public":true,"sitemap":false,"method":"POST"},{"path":"/openapi.json","title":"OpenAPI JSON","description":"Canonical OpenAPI JSON.","surface":"discovery","public":true,"sitemap":true,"method":"GET"},{"path":"/openapi.yaml","title":"OpenAPI YAML","description":"Canonical OpenAPI YAML.","surface":"discovery","public":true,"sitemap":true,"method":"GET"},{"path":"/llms.txt","title":"LLMs text","description":"Concise AI-readable service profile.","surface":"discovery","public":true,"sitemap":true,"method":"GET"},{"path":"/llms-full.txt","title":"LLMs full text","description":"Detailed AI-readable service profile.","surface":"discovery","public":true,"sitemap":true,"method":"GET"},{"path":"/llms-index.json","title":"LLMs index","description":"Structured AI-readable service profile.","surface":"discovery","public":true,"sitemap":true,"method":"GET"},{"path":"/rss.xml","title":"RSS feed","description":"Public-safe education and changelog feed.","surface":"feed","public":true,"sitemap":true,"method":"GET"},{"path":"/feed.xml","title":"Atom feed","description":"Public-safe education and changelog feed.","surface":"feed","public":true,"sitemap":true,"method":"GET"},{"path":"/sitemap.xml","title":"Sitemap","description":"Canonical sitemap.","surface":"discovery","public":true,"sitemap":true,"method":"GET"},{"path":"/sitemap-main.xml","title":"Main sitemap","description":"Human-page and discovery sitemap.","surface":"discovery","public":true,"sitemap":true,"method":"GET"},{"path":"/sitemap-index.xml","title":"Sitemap index","description":"Sitemap index.","surface":"discovery","public":true,"sitemap":true,"method":"GET"},{"path":"/robots.txt","title":"Robots","description":"Crawler policy.","surface":"discovery","public":true,"sitemap":true,"method":"GET"},{"path":"/manifest.webmanifest","title":"Web manifest","description":"Installable app manifest.","surface":"discovery","public":true,"sitemap":true,"method":"GET"},{"path":"/.well-known/mcp.json","title":"MCP manifest","description":"Public read-only MCP manifest.","surface":"well-known","public":true,"sitemap":true,"method":"GET"},{"path":"/.well-known/agents.json","title":"Agents manifest","description":"Public agent-operation manifest.","surface":"well-known","public":true,"sitemap":true,"method":"GET"},{"path":"/.well-known/agent-policy.json","title":"Agent policy","description":"Agent and crawler policy with verified/degraded platform labels.","surface":"well-known","public":true,"sitemap":true,"method":"GET"},{"path":"/.well-known/ai-policy.json","title":"AI policy","description":"AI client access and redaction policy.","surface":"well-known","public":true,"sitemap":true,"method":"GET"},{"path":"/.well-known/ai-plugin.json","title":"AI plugin manifest","description":"Public AI plugin manifest for read-only discovery.","surface":"well-known","public":true,"sitemap":true,"method":"GET"},{"path":"/.well-known/security.txt","title":"Security contact","description":"Security contact and policy.","surface":"well-known","public":true,"sitemap":true,"method":"GET"},{"path":"/.well-known/trust.json","title":"Trust policy","description":"Public trust and privacy boundary policy.","surface":"well-known","public":true,"sitemap":true,"method":"GET"}],"authPolicy":{"publicSafeDefault":true,"requireApiKey":false,"configured":true,"acceptedHeaders":["Authorization: Bearer $PLATPHORM_API_KEY","X-PlatPhorm-API-Key: $PLATPHORM_API_KEY"],"futureProtectedActions":["server fingerprint persistence","fingerprint list/detail access","Atlas correlation","webhook operations","events stream access","report generation","cron refresh","admin mutation"]},"publicAccess":{"enabledByDefault":true,"localAnalysis":true,"discoveryFiles":true,"readOnlyMcpIntrospection":true},"privacyPolicy":{"consentBasedSubmission":true,"covertTracking":false,"rawFingerprintPublicExposure":false,"publicStats":"aggregate-non-identifying","localSnapshots":"browser-only clearable summaries"},"fingerprintComponents":[{"type":"canvas","label":"Canvas","entropy":"high","riskLevel":"medium","explanation":"Canvas rendering can vary by browser, graphics stack, font rendering, and anti-fingerprinting protections."},{"type":"webgl","label":"WebGL","entropy":"high","riskLevel":"high","explanation":"WebGL exposes graphics capability and renderer signals. Fingerprint stores and shares only summaries or hashes."},{"type":"audio","label":"Audio","entropy":"medium","riskLevel":"medium","explanation":"Audio processing differences can identify browser and hardware behavior without recording microphone input."},{"type":"fonts","label":"Fonts","entropy":"high","riskLevel":"medium","explanation":"Font availability can vary by OS, browser, and installed software. Public output uses counts and hashes."},{"type":"screen","label":"Screen","entropy":"medium","riskLevel":"low","explanation":"Screen dimensions, color depth, and pixel ratio help explain layout and device class exposure."},{"type":"navigator","label":"Navigator","entropy":"medium","riskLevel":"medium","explanation":"Navigator exposes browser, language, hardware, plugin, cookie, and automation hints."},{"type":"css","label":"CSS Support","entropy":"medium","riskLevel":"low","explanation":"CSS feature support explains browser engine capability. Unsupported APIs are marked unavailable instead of guessed."},{"type":"media","label":"Media Capabilities","entropy":"medium","riskLevel":"low","explanation":"Media capability checks summarize codec and rendering support without requesting camera or microphone access."},{"type":"permissions","label":"Permissions","entropy":"low","riskLevel":"low","explanation":"Permission state summaries are limited to safe, non-invasive API availability and do not prompt for location, camera, or microphone."},{"type":"storage","label":"Storage","entropy":"low","riskLevel":"low","explanation":"Cookie, localStorage, sessionStorage, and IndexedDB availability help explain privacy or browser policy mode."},{"type":"timezone","label":"Timezone","entropy":"low","riskLevel":"low","explanation":"Timezone and locale can reveal broad regional settings and privacy-resistance behavior."},{"type":"domrect","label":"DOMRect","entropy":"medium","riskLevel":"low","explanation":"DOMRect measures subpixel layout behavior that may vary across engines, zoom, and font settings."},{"type":"ja4h","label":"JA4H","entropy":"medium","riskLevel":"medium","explanation":"JA4H is represented as a local browser-header style summary where available; Atlas correlation is protected/degraded."},{"type":"connection","label":"Connection","entropy":"low","riskLevel":"low","explanation":"Connection and edge hints are limited to safe availability metadata and never include raw IP addresses."}],"algorithmVersions":{"algorithmVersion":"fingerprint-analysis-v3.0.0","componentSchemaVersion":"fingerprint-components-v3.0.0","hashVersion":"sha256-stable-json-v3.0.0","fuzzyHashVersion":"weighted-component-vector-v3.0.0","detectionVersion":"deterministic-signal-rules-v3.0.0"},"analysisCapabilities":["local component availability and confidence","deterministic entropy labels","headless and browser automation indicators","bot user-agent indicators","JavaScript lies and tampering indicators","privacy-resistance mode hints","local snapshot comparison","privacy-safe aggregate stats","JA4 and JA4M redaction policy inspection","MCP/API-accessible public-safe fingerprint intelligence"],"localOnlyCapabilities":["browser component collection","visitor hash display","local comparison snapshots","local analysis export","clear local snapshots","redacted report export"],"protectedCapabilities":["server fingerprint persistence","server fingerprint list and detail access","raw or reversible identifier access","internal trust scoring","JA4 digest correlation","Atlas correlation","Trace private correlation","Monitor signal publishing","BrowserOps collection triggers","Sandbox execution triggers","Evals run triggers","webhook operations","event stream access","report generation","sync and cron refresh","administrative route and trusted-domain mutation"],"aggregateStats":{"publicSafe":true,"exposesRawRecords":false},"modelScaffolding":{"status":"degraded","provider":"none","serverOnly":true,"modelCallsEnabled":false,"deterministicFallback":true,"supportedUseCases":["browser fingerprint education","privacy recommendations","defensive report summaries","bot and headless finding explanations","Atlas correlation summaries","comparison summaries","FAQ/help generation"],"limitations":["No backend model provider is configured, so explanations use deterministic local text only.","No model calls are made from client components."]},"integrations":[{"id":"atlas","label":"Atlas","url":"https://atlas.platphormnews.com","status":"degraded","publicStatus":"Public UI links are available. Protected live correlation requires future PLATPHORM_API_KEY-backed service configuration."},{"id":"monitor","label":"Monitor","url":"https://monitor.platphormnews.com","status":"public_link","publicStatus":"Public link available for uptime and service context."},{"id":"trace","label":"Trace","url":"https://trace.platphormnews.com","status":"trace_headers","publicStatus":"Fingerprint emits trace identifiers and W3C trace headers in API responses."},{"id":"browserops","label":"BrowserOps","url":"https://browserops.platphormnews.com","status":"future_protected_degraded","publicStatus":"Public status is documented. Triggering controlled browser collections requires protected service configuration."},{"id":"sandbox","label":"Sandbox","url":"https://sandbox.platphormnews.com","status":"future_protected_degraded","publicStatus":"Algorithm fixture execution is planned as a protected dry-run integration; no fake sandbox output is shown."},{"id":"evals","label":"Evals","url":"https://evals.platphormnews.com","status":"future_protected_degraded","publicStatus":"Algorithm and redaction scorecards are planned protected integrations; public UI shows readiness only."},{"id":"mcp","label":"MCP","url":"https://mcp.platphormnews.com","status":"public_introspection","publicStatus":"Read-only MCP introspection and public-safe analysis tools are available at /api/mcp."},{"id":"api","label":"API Hub","url":"https://api.platphormnews.com","status":"public_docs","publicStatus":"OpenAPI, policy, and CLI examples are published for API catalog discovery."},{"id":"threatrelay","label":"ThreatRelay","url":"https://threatrelay.com","status":"external_link","publicStatus":"External informational link only; no hidden data sharing is performed."}],"tools":["get_fingerprint_info","collect_fingerprint_schema","analyze_fingerprint","analyze_headless","analyze_automation","analyze_privacy_resistance","analyze_lies","compare_fingerprints","hash_component","normalize_component","get_component_catalog","get_algorithm_versions","get_public_stats","get_ja4_summary","get_redaction_policy","get_integration_status","get_health","get_info","get_route_compliance","get_discovery_compliance","get_agent_policy","list_agent_platforms","get_agent_platform","evaluate_agent_access","get_robots_policy","get_ai_policy","get_trust_policy","get_discovery_manifest","get_public_access_summary","submit_fingerprint","get_fingerprint_detail","delete_fingerprint","correlate_ja4_digest","export_fingerprint_report","publish_monitor_signal","publish_trace_correlation","trigger_evals_analysis","trigger_browserops_collection","trigger_sandbox_collection","update_agent_policy","refresh_agent_platform_registry"],"resources":["fingerprint://info","fingerprint://components","fingerprint://algorithms","fingerprint://stats","fingerprint://redaction-policy","fingerprint://ja4-summary","fingerprint://integrations","fingerprint://openapi","fingerprint://llms","fingerprint://trust-policy","agent-policy://summary","agent-policy://platforms","agent-policy://robots","agent-policy://ai-policy","agent-policy://trust-policy"],"prompts":["explain_browser_fingerprint","explain_headless_detection","explain_automation_signals","explain_privacy_resistance","compare_fingerprint_reports","create_fingerprint_research_report","explain_ja4m_correlation","create_redaction_policy","human_machine_fingerprint_handoff"],"trustedDomains":["*.platphormnews.com"],"routeStandard":["/","/dashboard","/analysis","/compare","/stats","/components","/headless","/automation","/privacy","/ja4","/ja4m","/signals","/correlations","/integrations","/events","/docs","/faq","/clients/cli","/education","/terms","/disclaimer","/api/health","/api/v1/health","/api/docs","/api/mcp","/openapi.json","/openapi.yaml","/llms.txt","/llms-full.txt","/llms-index.json","/rss.xml","/feed.xml","/sitemap.xml","/sitemap-main.xml","/sitemap-index.xml","/robots.txt","/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"],"trustPolicy":"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.","agentPolicy":{"service":"fingerprint","version":"1.0.0-phase3","baseUrl":"https://fingerprint.platphormnews.com","host":"fingerprint.platphormnews.com","status":"active","generatedAt":"2026-05-25T10:58:25.207Z","policy":"PlatPhorm Fingerprint is local-first and public-safe by default. It explains browser, bot, headless, privacy-resistance, JA4-style, and automation signals without covert tracking, without raw public fingerprint exposure, and without certainty claims.","trustPolicy":"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.","auth":{"publicSafeDefault":true,"requireApiKey":false,"configured":true,"acceptedHeaders":["Authorization: Bearer $PLATPHORM_API_KEY","X-PlatPhorm-API-Key: $PLATPHORM_API_KEY"],"futureProtectedActions":["server fingerprint persistence","fingerprint list/detail access","Atlas correlation","webhook operations","events stream access","report generation","cron refresh","admin mutation"]},"platforms":[{"id":"openai","label":"OpenAI / ChatGPT","exactCrawlerVerified":false,"access":"public_read_only","crawlerUserAgents":[],"crawlerUserAgentStatus":"not_hardcoded_unverified","note":"Exact crawler strings are not invented. Access policy is category-based unless verified documentation is added."},{"id":"anthropic","label":"Anthropic / Claude","exactCrawlerVerified":false,"access":"public_read_only","crawlerUserAgents":[],"crawlerUserAgentStatus":"not_hardcoded_unverified","note":"Exact crawler strings are not invented. Access policy is category-based unless verified documentation is added."},{"id":"xai","label":"xAI / Grok","exactCrawlerVerified":false,"access":"public_read_only","crawlerUserAgents":[],"crawlerUserAgentStatus":"not_hardcoded_unverified","note":"Exact crawler strings are not invented. Access policy is category-based unless verified documentation is added."},{"id":"meta","label":"Meta / Meta AI","exactCrawlerVerified":false,"access":"public_read_only","crawlerUserAgents":[],"crawlerUserAgentStatus":"not_hardcoded_unverified","note":"Exact crawler strings are not invented. Access policy is category-based unless verified documentation is added."},{"id":"google","label":"Google","exactCrawlerVerified":false,"access":"public_read_only","crawlerUserAgents":[],"crawlerUserAgentStatus":"not_hardcoded_unverified","note":"Exact crawler strings are not invented. Access policy is category-based unless verified documentation is added."},{"id":"microsoft","label":"Microsoft","exactCrawlerVerified":false,"access":"public_read_only","crawlerUserAgents":[],"crawlerUserAgentStatus":"not_hardcoded_unverified","note":"Exact crawler strings are not invented. Access policy is category-based unless verified documentation is added."},{"id":"perplexity","label":"Perplexity","exactCrawlerVerified":false,"access":"public_read_only","crawlerUserAgents":[],"crawlerUserAgentStatus":"not_hardcoded_unverified","note":"Exact crawler strings are not invented. Access policy is category-based unless verified documentation is added."},{"id":"apple","label":"Apple","exactCrawlerVerified":false,"access":"public_read_only","crawlerUserAgents":[],"crawlerUserAgentStatus":"not_hardcoded_unverified","note":"Exact crawler strings are not invented. Access policy is category-based unless verified documentation is added."},{"id":"mcp-clients","label":"MCP clients","exactCrawlerVerified":false,"access":"public_read_only_mcp","crawlerUserAgents":[],"crawlerUserAgentStatus":"not_hardcoded_unverified","note":"Exact crawler strings are not invented. Access policy is category-based unless verified documentation is added."},{"id":"browser-agents","label":"Browser agents","exactCrawlerVerified":false,"access":"public_read_only_browser","crawlerUserAgents":[],"crawlerUserAgentStatus":"not_hardcoded_unverified","note":"Exact crawler strings are not invented. Access policy is category-based unless verified documentation is added."},{"id":"generic-crawlers","label":"Generic crawlers","exactCrawlerVerified":false,"access":"public_read_only","crawlerUserAgents":[],"crawlerUserAgentStatus":"not_hardcoded_unverified","note":"Exact crawler strings are not invented. Access policy is category-based unless verified documentation is added."}],"publicSafeAllowed":["homepage","dashboard","local/browser-only component collection","public-safe analysis of caller-provided fingerprints","comparison of caller-provided fingerprints","aggregate or degraded stats","docs, OpenAPI, LLM files, RSS, sitemap, robots, and well-known policy files","read-only MCP introspection and public-safe MCP tools"],"protectedActions":["server fingerprint persistence","server fingerprint list and detail access","raw or reversible identifier access","internal trust scoring","JA4 digest correlation","Atlas correlation","Trace private correlation","Monitor signal publishing","BrowserOps collection triggers","Sandbox execution triggers","Evals run triggers","webhook operations","event stream access","report generation","sync and cron refresh","administrative route and trusted-domain mutation"],"redaction":{"rawIpPublic":false,"rawVisitorHashPublic":false,"rawJa4DigestPublic":false,"rawHighEntropyComponentsPublic":false,"publicUsesTruncatedOrHashedValues":true}},"aiPolicy":{"service":"fingerprint","baseUrl":"https://fingerprint.platphormnews.com","generatedAt":"2026-05-25T10:58:25.210Z","aiUse":"Allowed for public-safe education, documentation, redacted local analysis, and defensive research.","prohibitedUse":["covert tracking","personal identity certainty claims","raw fingerprint extraction from public artifacts","raw JA4 digest disclosure","secret or credential handling in browser storage"],"mcp":"https://fingerprint.platphormnews.com/api/mcp","openapi":"https://fingerprint.platphormnews.com/openapi.yaml","llms":["https://fingerprint.platphormnews.com/llms.txt","https://fingerprint.platphormnews.com/llms-full.txt","https://fingerprint.platphormnews.com/llms-index.json"],"auth":{"publicSafeDefault":true,"requireApiKey":false,"configured":true,"acceptedHeaders":["Authorization: Bearer $PLATPHORM_API_KEY","X-PlatPhorm-API-Key: $PLATPHORM_API_KEY"],"futureProtectedActions":["server fingerprint persistence","fingerprint list/detail access","Atlas correlation","webhook operations","events stream access","report generation","cron refresh","admin mutation"]}},"robotsPolicy":{"service":"fingerprint","generatedAt":"2026-05-25T10:58:25.210Z","userAgentPolicy":"No exact AI crawler strings are hardcoded until verified. Generic public-safe discovery is allowed; protected or sensitive routes are disallowed.","rules":{"allow":["/"],"disallow":["/admin","/api/admin","/api/private","/api/protected","/api/*/admin","/api/*/private","/api/*/protected","/api/v1/fingerprint/","/api/webhooks","/*?token=","/*?key=","/*?secret="],"sitemap":"https://fingerprint.platphormnews.com/sitemap.xml"}},"updatedAt":"2026-05-25T10:58:25.210Z"}