Set Requirements
Define watchlist terms, protected locations, people of interest, event calendars, and collection priorities.
Protective Intelligence Assistant
A fixture-driven decision-support system for ingesting public signals, extracting entities, linking related activity into investigation threads, scoring risk with reason codes, and producing reviewable outputs.
The project translates protective-intelligence tradecraft into a working workflow: requirements-driven collection, source evaluation, entity extraction, correlation, risk scoring, uncertainty handling, and analyst-ready dissemination.
The public repo intentionally uses synthetic fixtures and environment-gated collectors. That keeps the workflow inspectable without exposing sensitive data or implying live protective operations.
Define watchlist terms, protected locations, people of interest, event calendars, and collection priorities.
Ingest public-source and fixture signals, deduplicate records, extract entities, and preserve source context.
Link related activity with pair evidence, reason codes, shared entities, and temporal proximity.
Apply transparent scoring for operational risk, behavioral threat indicators, insider risk, and vendor exposure.
Generate casepacks, SITREPs, travel briefs, daily reports, and review queues for human assessment.
analytics/soi_threads.py
Weighted pair-link model with explicit evidence for why alerts belong in the same subject thread.
analytics/risk_scoring.py
Explainable scoring using source credibility, keyword weights, recency, frequency, and context.
analytics/behavioral_assessment.py
TRAP-18-informed and pathway-to-violence indicators adapted for triage, not clinical judgment.
analytics/insider_risk.py
Fixture telemetry for access deviation, data movement, physical/logical mismatch, and temporal anomalies.
analytics/supply_chain_risk.py
Risk decomposition across geography, concentration, privilege scope, data sensitivity, and compliance posture.
analytics/intelligence_report.py
Markdown outputs for daily reporting, travel briefs, SITREPs, and investigation casepacks.
docs/sample_casepack.md
Shows how alerts become a thread, what evidence links them, and how disposition and controls are documented.
docs/incident_thread_casepack.md
Demonstrates convergence across insider, vendor, cyber, physical, and public-source style signals.
outputs/review_queue.csv
Priority-ranked records with confidence, next action, source context, and human-review posture.
docs/public_companion_casepack.md
Public-source-only casepack showing how the workflow can be reviewed without sensitive collection.
docs/correlation_eval.md
Hand-labeled convergence scenarios used to sanity-check the thread-linking logic and reason codes.
docs/screenshots/
Dashboard screenshots plus endpoint snapshots for insider, supply-chain, and investigation-queue outputs.
Thread summary, reason codes, evidence, timeline, disposition, and recommended controls.
Location-aware risk summary for a protected movement or trip scenario.
Short operational update designed for decision-makers who need the current picture quickly.
Recurring summary of priority items, source health, notable changes, and triage posture.
Prioritized alerts with reason-coded scoring and fields suitable for analyst review.
FastAPI routes expose insider, supply-chain, and investigation queue outputs for inspection.
Public artifacts use synthetic scenarios and fixture telemetry. Benchmark scores show reproducibility on controlled test cases, not field performance.
No private protectee data, live sensitive collection, confidential source reporting, or real insider telemetry is included in the public repo.
Scores and threads prioritize review. They do not establish threat, intent, culpability, or a required operational response.
Public artifacts keep sensitive collection synthetic. Any real-world validation would require approved, non-sensitive event data and careful source caveats.