How yojimbo1of1bd/osintai works
Lodestar is a local web app for disciplined, passive OSINT casework. A researcher records sourced findings in a case, then can enrich that record with username checks, image metadata, and manually documented relationships; local triage and export help review and submit results. Case status governs actions such as scans and script runs. The graph follows documented capabilities where route implementations were not sampled; those links are marked optional or reflect README-level evidence.
Main entry points: database.py SQLite database · main.py FastAPI app · correlator.py Username correlator · cases.py Case manager
Components 18
Local web app
- FastAPI app
app/main.py
Casework
- Case manager
app/routes/cases.py - Finding logger
app/routes/findings.py - Relationship mapper
app/routes/relationships.py - Case data models
app/models.py - SQLite database
app/database.py - Case database file
data
Evidence enrichment
- Image importer
app/routes/images.py - Username correlator
app/correlator.py - Maigret
- ExifRead
Review and safeguards
- LLM triage
app/routes/triage.py - Ollama
- Case exporter
app/routes/exporter.py - Custom script runner
app/routes/scripts.py - User scripts
scripts - Field encryption
app/encryption.py
Other components
- Researcher
Connections 26
- Researcher → FastAPI app: uses locally
- FastAPI app → Case manager: dispatches routes
- FastAPI app → Finding logger: dispatches routes
- FastAPI app → Relationship mapper: dispatches routes
- FastAPI app → Image importer: dispatches routes
- FastAPI app → LLM triage: dispatches routes
- FastAPI app → Case exporter: dispatches routes
- FastAPI app → Custom script runner: dispatches routes
- FastAPI app → SQLite database: initializes
- Case manager → SQLite database: reads and writes
- Case manager → Username correlator: cancels scans
- Finding logger → SQLite database: reads and writes
- Finding logger → Username correlator: starts scans
- Username correlator → Maigret: searches handles
- Username correlator → SQLite database: stores matches
- Relationship mapper → SQLite database: reads and writes
- Image importer → ExifRead: extracts metadata
- Image importer → SQLite database: stores image record
- LLM triage → SQLite database: reads case findings
- LLM triage → Ollama: requests summary
- Case exporter → SQLite database: reads case data
- Custom script runner → SQLite database: checks case status
- Custom script runner → User scripts: runs selected script
- Case data models → Field encryption: uses encrypted fields
- SQLite database → Case data models: creates tables
- SQLite database → Case database file: persists data