{"ok":true,"overall":"operational","generated_at":"2026-07-15T07:36:23.115347+00:00","components":{"detection_api":{"name":"Detection API","state":"operational","detail":"This endpoint responded"},"enrichment":{"name":"Enrichment queue (24h high/crit incomplete)","state":"operational","detail":"incomplete_high_crit_24h=0","metric":0},"visual_clone":{"name":"Visual clone pipeline (24h)","state":"operational","detail":"alerts_24h=15 customer_visible=7 cv_rate=46.67%","metric":{"alerts_24h":15,"customer_visible_24h":7}},"zonefile":{"name":"Zonefile ingestion","state":"operational","detail":"status=ok tld=com domains_parsed=173366957 duration_s=1287.18 age_hours=4.9","metric":{"status":"ok","run_at":"2026-07-15T02:42:05.96187+00:00","domains_parsed":173366957,"duration_seconds":1287.18,"source":"zonefile","tld":"com","critical_fix_2026_07_14":{"sort_unit_fix":true,"hardlink_trap_fix":true,"systemd_timer":"phishdetect-zonefile.timer@02:00UTC","max_runtime_seconds":18000}}},"free_scan":{"name":"Free Scan","state":"operational","detail":"scans_last_hour=0","metric":0},"gtc":{"name":"GTC candidates (24h)","state":"operational","detail":"candidates_24h=25","metric":25},"content_engine":{"name":"Content engine (Threat Radar digests)","state":"operational","detail":"pending_emails=0 subscribers≈4 | schedule: weekly Mon ~07:10 UTC via content_engine_worker; POST /api/v1/public/content/subscribe for Threat Radar","metric":{"pending_emails":0,"subscribers":4},"honest_label":"Threat Radar emails only send when Resend works and subscribers opted in"},"customer_visible_alerts":{"name":"Customer-visible alerts (24h)","state":"operational","detail":"cv_alerts_24h=17","metric":17},"domain_watch":{"name":"Domain Watch intake (24h)","state":"operational","detail":"new_watchlist_rows_24h=5","metric":5},"coverage_beta":{"name":"Coverage Beta (social + app store, 24h)","state":"operational","detail":"social=1 app_store=2 (Beta — not full platform crawl)","metric":{"social_impersonation_24h":1,"app_store_abuse_24h":2}},"notifications":{"name":"Notifications","state":"unknown","detail":"metric unavailable (APIError)"},"funnel_analytics":{"name":"Funnel analytics (first-party + optional GA4)","state":"operational","detail":"events_24h=25","metric":25},"ga4":{"name":"GA4 dual-write","state":"operational","detail":"GA4_MEASUREMENT_ID+GA4_API_SECRET configured","metric":{"configured":true}},"billing_stripe":{"name":"Stripe billing path","state":"operational","detail":"secret_key=yes webhook_secret=yes plans_with_price_ids=3 webhook=POST /api/v1/webhooks/stripe","metric":{"secret_configured":true,"webhook_secret_configured":true,"plans_with_price_ids":3}},"openrouter_visual":{"name":"OpenRouter visual verify (optional LLM fallback)","state":"operational","detail":"MultiHash primary; OpenRouter second opinion. enabled=True key=yes model=google/gemini-2.5-flash","metric":{"key_present":true,"enabled":true,"model":"google/gemini-2.5-flash","role":"fallback_after_multihash"}},"email_delivery":{"name":"Email delivery (Resend)","state":"operational","detail":"RESEND_API_KEY configured","metric":{"resend_configured":true}}},"groups":{"core":["detection_api","enrichment","zonefile","free_scan"],"detection":["visual_clone","gtc","customer_visible_alerts","domain_watch"],"coverage_beta":["coverage_beta"],"comms":["content_engine","notifications","funnel_analytics","email_delivery"],"growth":["funnel_analytics","ga4","billing_stripe"],"optional":["openrouter_visual"]},"notes":["Metrics are aggregate and non-sensitive.","Worker process inventories are not fully exposed publicly.","Unknown means the metric source was unavailable, not necessarily an outage.","Social + app store coverage is Beta (heuristic / partial — not a full store crawl).","Critical fixes 2026-07-14 closed: zonefile sort/OOM + hardlink trap, brand_matcher attribution, ai_investigator escaped-quote corruption.","Full .com e2e verified: 173,366,957 domains status=ok wall_s=1344.8.","Automation: systemd timer phishdetect-zonefile.timer daily 02:00 UTC.","brand_matcher + ai_investigator critical-path smoke verified on canary/demo tenant.","See docs/CRITICAL_FIXES_20260714.md and docs/FINAL_THREE_FIXES_REPORT.md.","P1 scope 2026-07-15: GA4 dual-write funnel, visual MultiHash yield fix (root_domain_id + direct alert fallback), notifications/digest verify, evidence PDF polish.","POST /api/v1/public/funnel supports trial/upgrade events; optional GA4_MEASUREMENT_ID + GA4_API_SECRET.","FINAL_MANUAL_P3: client assets at /api/v1/public/assets/unison-funnel.js and unison-alert-fields.js; Stripe webhook /api/v1/webhooks/stripe; MultiHash primary over OpenRouter.","Coverage Beta (social + app store) is partial heuristic coverage — not a full platform crawl.","Threat Radar: opt-in via /api/v1/public/content/subscribe; weekly enqueue + outbox drain.","MANUAL5 2026-07-15: GA4 measurement id live (G-H04FSKCB7E); client gtag+funnel assets; Stripe webhook→api.unisonsecurity.com; plans price IDs filled; Slack/Teams UI settings/notifications; OpenRouter optional gated."]}