SOCMIntelligence
Multi-platform SOCMINT / OSINT web tool.
What it is
SOCMIntelligence collects public data from many platforms, turns each result into charts, finding tables and a relationship graph, and merges everything into a single cross-platform identity graph. Because the same account gets the same node ID everywhere, an email, domain or username that shows up in two different scans is automatically linked — so you can see who is who across services.
Modules
| Group | Modules |
|---|---|
| Social networks | X (Twitter) · Instagram · Bluesky · LinkedIn · YouTube · TikTok · Twitch · Kick · Snapchat · Reddit · Mastodon · Telegram · Discord · Steam |
| Developer | GitHub · GitLab · Stack Exchange · Hacker News |
| Identity & archives | Keybase · Gravatar · Wayback Machine |
| Search & map | Keyword search (Bluesky · Reddit · Mastodon) · Hashtag map |
Each module reads public data only (or an official API where a key is provided). There is no credential/session scraping of private accounts.
Features
- Relationship graph — a D3 force graph that merges every successful scan. Cross-platform matches (shared email, domain, username), pivoting (double-click a node to scan it in the right module), search, type filters, PNG/JSON export.
- Timeline — every account's posts, comments, uploads and account-creation events on one axis, plus an hour-overlap heatmap and hour-similarity table.
- Identity matching — a 0–100 “same person?” score per account pair with reasons (verified/cryptographic link, shared email, username & display-name similarity, shared personal domain, avatar pHash, activity hours). Pairs ≥ 40 are drawn on the graph.
- Comparison — put 2+ scanned accounts of the same module side by side (KPI table + bar chart, highest value highlighted).
- Analyst marks — mark graph nodes Verified / Suspicious / Dismissed, add notes, add manual nodes and links. All saved to the case.
- Case management — create a case, activate it, and scans/marks/notes are saved automatically. Import/export a
.socmintpackage. - Change tracking (Monitoring) — rescan targets on a schedule and record what changed (fields, new/removed links).
- Evidence integrity — every scan's raw data is hashed (SHA-256 over canonical JSON) at collection time; a verify button proves whether it was altered.
- Exports — HTML / PDF report, Excel (.xlsx), GraphML (Gephi/yEd), GEXF (Gephi), Maltego CSV, JSON.
- Bilingual UI — Turkish / English toggle (default Turkish); reports, spreadsheets, chart labels, date & number formats all follow the selected language.
- Settings page — API keys, proxy / Tor / proxy-list rotation and rate limits, all managed from the UI instead of
.env.
Quick start
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
uvicorn server:app --host 0.0.0.0 --port 8000
Then open http://localhost:8000 — API docs at http://localhost:8000/docs.
Next runs only need:
source .venv/bin/activate && uvicorn server:app --port 8000
Docker: docker compose up --build (single service).
Configuration
All configuration lives on the Settings page (saved to data/settings.json; .env is still read, Settings wins):
- API keys — stored server-side, never returned to the browser (only “set” + last 4 chars are shown).
YOUTUBE_API_KEY— required for the YouTube module.X_BEARER_TOKEN— X (Twitter) API v2. Without it the X module shows clearly-labelled sample data so you can preview the output before adding a token.STEAM_API_KEY,STACKEXCHANGE_KEY,GRAVATAR_API_KEY,GITLAB_TOKEN— optional, unlock extra data.
- Proxy / Tor — off, Tor, a single custom proxy, or a proxy list that rotates round-robin per scan (spreads rate limits).
- Rate — parallel scan count and delay between requests.
Notes
- X (Twitter): the free X plan is very limited — even with a token, post history may come back empty on some plans; the module labels that case.
- Telegram reads only the public
t.me/s/preview (no login). - Gravatar receives only the MD5/SHA-256 hash of an email, never the email itself.
- TikTok frequently rate-limits/bot-blocks; the module retries and distinguishes a real “not found” from a temporary block.
- Time distributions are UTC. TikTok follower “growth” is an estimate (marked as such), not real history.
backend/app/tools/youtube_osint.pyships with a hardcoded fallback API key — replace it with your own from Settings and remove that line.
License
Apache License 2.0 — see LICENSE.
Metadata
Release files for socmintelligence 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| socmintelligence-1.1.0.tar.gz | 1.8 MB | Without provenance | Details for socmintelligence-1.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| socmintelligence-1.1.0-py3-none-any.whl | Python 3 | none | any | Details for socmintelligence-1.1.0-py3-none-any.whl |
Total release size: 3.1 MB
Release files / socmintelligence-1.1.0.tar.gz
| Download URL | socmintelligence-1.1.0.tar.gz |
|---|---|
| Size | 1.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
47b96156fe59ba9dd23490a16aedfb7c79a54a009ebf0a20d24aa4a3a44a1313
|
|
BLAKE2b-256 checksum How to use checksums |
b25e450e7e25944220fd9567292c227f9aff870cb2663cbd77a2b9d1803a8dfd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / socmintelligence-1.1.0-py3-none-any.whl
| Download URL | socmintelligence-1.1.0-py3-none-any.whl |
|---|---|
| Size | 1.3 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7dd090c284472ddc7f1764db20bd3cadd89a0a20472918720f9c846afca3e0ce
|
|
BLAKE2b-256 checksum How to use checksums |
e4ea31ffda9cc27f1e8c5c07abe6c569232085e119a3810ff2e99770785eb73b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Security for socmintelligence 1.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.