Local, auditable OSINT scanner for security teams. Runs on Python + Postgres, outputs PDF + XLSX, and enforces human review for scores > 1.
- Local CLI + GUI: Manage cases from command line or web interface.
- Public Source Connectors: FBI, OFAC, Interpol.
- Threat Scoring: 1–5 scale with confidence tiers.
- Evidence Logging: Full audit trail of all searches.
- Reporting: Encrypted PDF + XLSX reports.
- Role-Based Access: Admin, Analyst, Viewer roles.
- Professional Grade: Structured logging, type-safe configuration, and comprehensive testing.
docker-compose up --build
Open GUI: http://localhost:8000
-
Install Dependencies:
pip install -r requirements.txt
-
Initialize Database:
python app/init_db.py
-
Run Application:
uvicorn app.main:app --reload # OR using Makefile make run -
Run Tests:
pytest # OR using Makefile make test
Configuration is managed via config.yaml and environment variables.
- config.yaml: Controls enabled sources, run parameters, retention, and email settings.
- Environment Variables: Override defaults or set secrets (e.g.
DATABASE_URL).
Example .env:
DATABASE_URL=postgresql+psycopg2://osint:osint@localhost:5432/osint
DEBUG=Trueapp/: Source codeapi/: REST API endpointscli/: CLI commandsconnectors/: External data source integrationscore/: Core settings and logginggui/: Web interfacenormalization/: Data normalization logicpipeline/: Data processing pipelinereports/: Report generation logicscoring/: Threat scoring enginesecurity/: Auth and crypto
tests/: Unit and integration tests
python app/cli/cli.py create-case --name "Jane Doe" --dob 1990-01-01 --consent "I consent..."
python app/cli/cli.py run-case --id <case_id>
python app/cli/cli.py export-case --id <case_id>
Internal / Restricted use only.