Set Requirements
Define watchlist terms, protected locations, people of interest, event calendars, and collection priorities.
Protective Intelligence Assistant
A public-safe workflow 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 workflow concepts into inspectable analyst artifacts: requirements-driven collection, source evaluation, entity extraction, correlation, risk scoring, uncertainty handling, and analyst-ready dissemination.
The public repo uses synthetic fixtures for sensitive domains and an official public RSS companion case study for travel-risk review. That keeps the workflow inspectable without exposing private 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_travel_advisory_case_study.md
Official State Department and CDC RSS rows turned into a travel-risk review queue and rollup.
outputs/public_travel_advisory_review_queue.csv
Critical, high, and medium travel-risk items with source, level, score, reason terms, and next action.
docs/correlation_eval.md
Hand-labeled convergence scenarios used to sanity-check the thread-linking logic and reason codes.
docs/screenshots/
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.
Endpoint snapshots make insider, supply-chain, and investigation queue outputs inspectable.
Public artifacts combine official public RSS rows for travel-risk triage with synthetic fixtures for sensitive insider, vendor, and threat-correlation domains.
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-data scores are triage aids for review priority. They do not establish a specific threat to a person, organization, route, or event.