An agentic OSINT platform that turns the global open-source ecosystem — news outlets, social streams, alt-platforms, government wires, GDELT — into verified claims and ICD 203-compliant intelligence products, on demand, for any narrative you define. Mission-agnostic by design: spin up a new threat vector in minutes, scale to any number of active operations.
AI extracts discrete claims with structured who / did / to / where fields, then deduplicates byte-identically across the corpus. The same casualty event mentioned 576 times collapses to one row with 576 observations — not 576 fragmented "facts."
BLUF, key judgments with HIGH / MODERATE / LOW confidence, sourced evidence excerpts, intelligence gaps, recommended COAs, competing hypotheses. Ready to brief, not process.
Granger causality finds directional drivers between threat domains. Hawkes processes model cascade dynamics. Hidden Markov regimes classify CRISIS / TENSION / DE-ESCALATION. Iran threats and Ukraine crisis show perfect bidirectional coupling — that's not a coincidence, it's a measurement.
No single article says "13 KIA." The aggregator reads ground-combat losses + KC-135 crew + downed aircraft separately and sums them — automatically, on every casualty-shaped query. The BLUF anchors on 15 KIA / 400 WIA, not on the dominant single-event claim.
Multi-source ingestion, claims-engine deduplication, ICD 203-compliant products, cross-monitor causal analysis, entity-network reasoning. Every tool an analyst needs to move from raw signal to finished intelligence — without leaving the platform.
Day 62 metrics in a single open-source pane: 15 KIA / 400 WIA cumulative casualty floor, 10,000+ BDA targets, 90 critical risk score, 4,089 sources monitored, 62% hostile article tone. Auto-refreshed every 10 minutes from the live claims engine.
v60.8's byte-identical fast path collapses capitalization-only and punctuation-only duplicates. v60.9 question-keyword fallback finds the right monitor when the LLM-generated thematic name lacks geographic anchors. v60.11 escapes literal % in psycopg2 parameterized SQL so the casualty aggregator actually fires.
Each claim carries a Bayesian confidence posterior derived from observation count, source-tier authority, official attribution, and cross-source independence. Status moves through emergence → unverified → contested → confirmed → escalated based on analyst review and propagation analytics.
4,922 entities and 18,647 weighted connections — states, organizations, people, locations, weapons, policies. Click IRGC and surface 3,090 mentions with first-seen and last-seen timestamps. Iran ↔ Hezbollah weight 2,476. United States ↔ sanctions weight 910.
Ask the AI assistant in plain English: "What are the key fault lines around IRGC?" Get a sourced, weighted analysis citing relationship strengths — not vague summary. The graph and the language model share the same backing data.
Type a Key Intelligence Question in natural language; the platform fans out search across 8 LLM-planned vectors, retrieves verified claims from the dedup engine, fires the casualty aggregator if the question shape demands it, and returns a structured product with BLUF, key judgments, top claims, COAs, intelligence gaps, and risk assessment.
Deep Dive takes the KIQ result as initial_report and expands across analytic dimensions — capabilities and resources, key actors and motivations, recent developments, historical context, competing hypotheses — with source-agreement / source-disagreement analysis and overall analytic confidence.
Iran threats and Ukraine crisis show perfect bidirectional Granger causality with 1-day lag. Ukraine crisis drives military posturing decisions at 0.919 strength. Venezuela's positive delta foreshadows Western Hemisphere instability. None of this comes from analyst intuition — it's measured.