+=========================================================================================+
| |
| #### #### ## ## ## |
| ## ## ## ## ### ## |
| #### #### ## ## ### |
| ## ## ## ## ## |
| #### ## #### ## ## |
| |
| ______________________________________________________ |
| | | |
| | J E S S I C A J O N E S | |
| | O S I N T I N V E S T I G A T I O N | |
| | B R O W S E R | |
| |______________________________________________________| |
| |
| "Every case starts with a question. |
| Every answer hides behind a screen. |
| I just know which screens to look at." |
| |
| -- Alias Investigations -- |
| |
+=========================================================================================+
A private investigator doesn't need superpowers. She needs the right tools, the right identities, and the nerve to dig where nobody else dares.
Case Files | What's New | The Office | Getting Started | Field Manual
+------------------------------------------------------------------------------+
| |
| Alias Investigations. |
| |
| The sign on the door is cracked. The whiskey is cheap. But the |
| results? Those are worth every penny. |
| |
| Jessica Jones doesn't do capes and costumes. She does stakeouts, |
| background checks, and the kind of digging that makes powerful |
| people nervous. In a world where your digital footprint is your |
| biggest vulnerability, she turned her investigation methods into |
| something different -- a browser. |
| |
| Spin takes the PI's instinct and weaponizes it. Multiple |
| identities for multiple angles of approach. AI agents that work |
| like a team of researchers who never sleep. A privacy engine that |
| adjusts on the fly, because in this line of work, getting burned |
| means more than a bad Yelp review. |
| |
| Every investigation needs a starting point. |
| This browser IS the starting point. |
| |
| "It's called doing the work. Now shut up and let me concentrate." |
| |
+------------------------------------------------------------------------------+
"Every case has its tools. These are mine."
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β βββββββ ββββββ ββββββββββββββββ ββββββββββββββ ββββββββββββββββ β
β ββββββββββββββββββββββββββββββββ ββββββββββββββ ββββββββββββββββ β
β βββ ββββββββββββββββββββββ ββββββ ββββββ ββββββ ββββββββ β
β βββ ββββββββββββββββββββββ ββββββ ββββββ ββββββ ββββββββ β
β βββββββββββ βββββββββββββββββββ βββ βββββββββββββββββββββββββββ β
β ββββββββββ βββββββββββββββββββ βββ βββββββββββββββββββββββββββ β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Full browser engine under your complete control.
Every identity gets its own isolated Chromium context -- think of it as a separate investigator walking into a room with a completely different face. No two look alike. No two leave the same trail.
| Fingerprint Vector | Spoofing |
|---|---|
| Canvas | Unique noise injection per identity |
| WebGL | Fake GPU vendor/renderer strings |
| Audio | Audio context fingerprint masking |
| Fonts | Custom font enumeration per identity |
| Timezone | Configurable timezone spoofing |
| WebRTC | IP leak prevention, STUN/TURN control |
| Navigator | Platform, language, hardware concurrency |
Each Chromium instance runs in its own sandbox. Cookies, cache, localStorage -- all compartmentalized. Like working a case from multiple angles without any of your covers knowing about each other.
"People say I have a drinking problem. I say I have a drinking solution. Same applies to browser fingerprinting."
Clone sessions between identities -- securely.
Sometimes you need to hand off a case. Sometimes you need a second pair of eyes looking at the same evidence from a different angle. Session cloning lets you duplicate an identity's entire session state to another identity.
- Cookies -- Full cookie jar transfer with sensitive cookie filtering
- localStorage -- Complete key-value state migration
- History -- Browsing trail duplication
- Integrity Hashing -- SHA-256 verification ensures nothing was tampered with in transit
- Domain Filtering -- Clone only what you need, leave the rest behind
"Trust, but verify. Especially when the evidence is digital."
Track every step. See every connection.
Every good PI keeps meticulous notes. Spin does it automatically. Every entity discovered, every connection made, every pivot point in your investigation -- logged, timestamped, and visualized.
- Force-Directed Entity Graph -- Native Rust entity relationship visualization (iced 0.13) that reveals connections invisible to the naked eye
- Timeline Events -- Chronological investigation playback
- Graph Nodes & Edges -- Entities as nodes, relationships as edges, weighted by confidence
- Export -- Take your evidence board digital and portable
It's like having a wall of photos connected by red string -- except it never runs out of wall space, and the string draws itself.
"Connections. Everything's about connections. The trick is seeing the ones nobody else can."
8 specialized agents. One shared brain.
You don't work alone in this business. Spin gives you a full investigation team powered by Claude API through the Model Context Protocol. Shared context means every agent knows what the others have found. Smart tool routing means the right agent handles the right job.
| Agent | Specialty | Think of them as... |
|---|---|---|
| Analyst | Content analysis, threat assessment, credibility scoring, sentiment | Your profiler |
| Gatherer | Entity extraction, deep scraping, archive search, categorization | Your field operative |
| Correlator | Relationship mapping, pattern detection, anomaly detection | Your conspiracy board |
| Reporter | Report generation, evidence compilation, PDF/JSON export | Your paralegal |
| OPSEC | Leak detection, fingerprint analysis, identity correlation | Your counter-surveillance |
| Social Intel | Profile analysis, connection mapping, username search (500+ platforms) | Your social butterfly |
| Dark Web | Onion crawl, market monitoring, breach lookup, forum intel | Your underworld contact |
| Crypto Tracer | Wallet analysis, transaction tracing, mixer detection, clustering | Your forensic accountant |
"I don't have a team. I have something better -- agents that don't argue, don't sleep, and don't leak to the press."
Multiple isolated browser identities with unique fingerprints.
Each identity is a complete cover story: unique fingerprint, isolated cookies, independent network stack, separate history. Like running multiple undercover operatives who never know about each other. 24 NATO alphabet codenames with cryptographic hex suffixes ensure no two dupes are ever confused.
"I used to just be one person. Then I realized that was a tactical disadvantage."
Cross-identity entity synchronization.
What one identity discovers, all identities can access. When multiple identities independently find the same entity, Spin flags it as HIGH CONFIDENCE intelligence. Real-time sync. Paginated views. The collective memory of every cover you've ever run.
"Intel is only useful when it's shared. But sharing has to be on my terms."
5 OPSEC levels. Because paranoia is just good tradecraft.
| Level | Description | When to use it |
|---|---|---|
| MINIMAL | Basic protection | Trusted OSINT platforms |
| STANDARD | Tracker blocking, basic spoofing | General browsing |
| ENHANCED | Fingerprint spoofing, full tracker block | Sensitive research |
| MAXIMUM | Full spoofing + Tor routing | High-risk investigation |
| PARANOID | Assume active adversary, everything enabled | When they're watching back |
Auto-adjusts based on site risk assessment. Trusted OSINT sites (Shodan, HIBP, Censys, GreyNoise, IntelX) get lighter treatment. Dark web and hostile domains get the full lockdown. Dynamic confidence scoring adapts in real time.
"Paranoid? I prefer 'professionally cautious.'"
Professional intelligence tools for professional investigators.
- Phone Intel -- Multi-format analysis, carrier lookup, minimum 7-digit validation
- Email Intel -- Domain validation, breach check, provider detection, disposable detection
- Username Hunt -- 12+ platforms instant, 500+ via extended tools
- Domain Recon -- WHOIS, DNS, subdomains, tech stack, historical records
"Every PI needs an office. This is mine."
+=========================================================================================+
| S P I N v 1 2 . 1 . 3 |
| " J E S S I C A J O N E S " |
+=========================================================================================+
| |
| +-------------------------------------------------------------------------+ |
| | i c e d 0 . 1 3 G U I ( P u r e R u s t ) | |
| | +----------+ +----------+ +----------+ +----------+ +----------+ | |
| | | Browser | | Identity | | Hivemind | | MCP | | Privacy | | |
| | | Tabs | | Panel | | Panel | | Panel | |Dashboard | | |
| | +-----+----+ +-----+----+ +----+-----+ +----+-----+ +----+-----+ | |
| | +----------+ +----------+ +----------+ | |
| | |Investig. | | Settings | | OSINT | | |
| | | Timeline | | Panel | | Panel | | |
| | +-----+----+ +-----+----+ +----+-----+ | |
| | +----------+---+----------+---+----------+---+----------+ | |
| | | | |
| | +------------------------+------------------------+ | |
| | | AppState + Message enum (Elm architecture) | | |
| | | [tabs] [identity] [hivemind] [mcp] [osint] | | |
| | | [ui] [privacy] [investigation] [settings] | | |
| | +------------------------+------------------------+ | |
| +----------------------------------+----------------------------------+ | |
| | Direct Rust fn calls (no IPC) | |
| +----------------------------------+----------------------------------+ | |
| | R U S T B A C K E N D | | |
| | +-----------------------------+ | | |
| | | SERVICE LAYER | | | |
| | | (commands/ modules) | | | |
| | +-------------+---------------+ | | |
| | +----------+-----+------+------+----------+----------+ | | |
| | v v v v v v v | | |
| | +-------+ +------+ +----+ +----+ +-------+ +-------+ +------+ | | |
| | |Identity| |Hive- | |MCP | |CEF | |Invest.| |Session| |Privacy| | | |
| | | Engine | | mind | |Srvr| |Core| |Timeline| |Clone | |Engine | | | |
| | +---+---+ +--+---+ +-+--+ +-+--+ +---+---+ +--+---+ +---+---+ | | |
| | +--------+-------+------+--------+--------+--------+ | | |
| | | | | |
| | +------------+------------+ | | |
| | | SLED DATABASE | | | |
| | | [Embedded Key-Value] | | | |
| | +-------------------------+ | | |
| +---------------------------------------------------------------------+ | |
| | |
| Embedded browser window handled by wry 0.44 (WebView) | |
| | |
+=========================================================================================+
| Layer | Technology | Purpose |
|---|---|---|
| GUI Framework | iced 0.13 | Pure Rust native GUI (Elm architecture) |
| Browser View | wry 0.44 | Embedded WebView for browsing pane |
| Language | Rust 1.75+ | Performance, safety, and system access |
| State | AppState + Message enum | Replaces Redux β Elm-style update loop |
| Browser Engine | CEF (Chromium Embedded Framework) | Full fingerprint-controlled browsing |
| Database | sled | Embedded key-value store |
| AI | Claude API (MCP) | 8 specialized investigation agents |
| Build | Cargo | Zero NPM β pure Rust toolchain |
v12 is 100% Rust, zero NPM. The iced GUI framework handles all UI natively. The wry WebView provides the embedded browser pane. The Rust service layer replaces the old Tauri IPC bridge β all commands are direct async function calls from the update loop.
"You don't need a license to investigate. You just need to know where to look."
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Q U I C K S T A R T β
β β
β Option A: Interactive Installer (recommended) β
β $ bash install.sh β
β β
β Option B: Manual (Cargo) β
β $ git clone https://github.com/thumpersecure/Spin.git β
β $ cd Spin/app/src-tauri && cargo run β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# Required
Rust 1.75+ (https://rustup.rs)
Git
# Linux (Debian/Ubuntu/Parrot/Kali)
sudo apt install \
libgtk-3-dev libwebkit2gtk-4.1-dev \
libayatana-appindicator3-dev librsvg2-dev \
libssl-dev libxdo-dev build-essential
# Linux (Fedora/RHEL)
sudo dnf install gtk3-devel webkit2gtk4.1-devel \
libappindicator-gtk3-devel librsvg2-devel openssl-devel
# Linux (Arch/Manjaro)
sudo pacman -S gtk3 webkit2gtk-4.1 libappindicator-gtk3 librsvg openssl
# macOS β no extra dependencies required (Xcode CLT handles it)
xcode-select --installThe recommended way to install Spin:
git clone https://github.com/thumpersecure/Spin.git
cd Spin
bash install.shThe installer handles everything: dependency checking, old version detection, system library installation, desktop shortcuts, and verification.
# Clone the repository
git clone https://github.com/thumpersecure/Spin.git
cd Spin/app/src-tauri
# Development mode (compiles and runs)
cargo run
# Production build
cargo build --release
# Binary: ./target/release/spinPre-built binaries are available via GitHub Releases:
| Platform | Format | Notes |
|---|---|---|
| Windows | .msi, .exe |
MSI installer or NSIS portable |
| macOS | .dmg |
Drag to Applications |
| Linux | .AppImage, .deb |
AppImage or Debian package |
"I could tell you how to do this, but then I'd have to bill you."
- Click Identities in the side panel
- Type a name in the input field (e.g., "Ghost", "Analyst", "Burner")
- Click Create
- Spin generates a unique fingerprint automatically
Click any identity card. Tabs, cookies, sessions -- completely isolated. Like walking into a room as a different person.
- Select the source identity
- Right-click > Clone Session
- Select the target identity
- Choose what to clone: cookies, localStorage, history
- Session data is integrity-verified via SHA-256 before transfer
- Open the Investigation panel
- View the chronological timeline of your investigation
- Switch to Graph view for native Rust entity relationship visualization
- Click nodes to expand connections, drag to rearrange
- Export your investigation state at any time
- Open the MCP panel
- Select your agent (Analyst, Gatherer, Correlator, etc.)
- Describe your task in natural language
- Agents share context -- findings from one are available to all
- Review results, export reports
- Open Privacy panel (shield icon)
- Select OPSEC level or let auto-adjust handle it
- Toggle individual protections as needed
- Monitor real-time blocking stats
"New tools. Same attitude."
- Fixed
EntityType::Coordinatevariant name (was incorrectly referenced asCoordinates) - Removed non-existent
EntityType::SocialHandlematch arm from Hivemind panel - Fixed borrow-checker error in entity type color closure (added
movesemantics) - Fixed
Row::with_children()usage β iced 0.13Row::wrap()returnsrow::Wrappingwhich has nopush(); replaced with Vec-collection pattern - Fixed
SliceRandomtrait not in scope for fingerprint device memory selection - Fixed
InvestigationsLoadedtype mismatch:create_investigationreturnsInvestigation, converted toInvestigationSummaryvia.to_summary() - Fixed
SaveApiKeyhandler:set_claude_api_keyreturnsResult<bool>, notResult<()>` - Removed all unused imports (
Length,keyboard,checkbox,button,ghost_btn_style) across view files
This release delivered the four major capabilities on the roadmap -- embedded Chromium, session cloning, investigation visualization, and full AI integration -- along with a complete architectural overhaul that eliminates the NPM dependency chain entirely.
Pure Rust GUI (iced 0.13 + wry 0.44)
- Replaced React/TypeScript/Vite/NPM frontend with a native Rust GUI
- iced 0.13 Elm-style architecture:
AppStatestruct +Messageenum replaces 9 Redux slices - wry 0.44 provides the embedded browser WebView pane
- Zero NPM packages β single
cargo buildfrom clone to binary - All UI panels ported to Rust: title bar, tabs, nav bar, identity, hivemind, MCP, OSINT, privacy, investigation, settings
Embedded Chromium via CEF
- Full Chromium Embedded Framework integration with per-identity browser contexts
- Complete fingerprint injection pipeline: Canvas, WebGL, Audio, Font, Timezone, WebRTC, Navigator
- Sandboxed execution with isolated cookie jars, cache, and localStorage per identity
Secure Session Cloning
- Clone cookies, localStorage, and history between identities
- Sensitive cookie filtering prevents credential leakage during transfer
- SHA-256 integrity hashing verifies session data was not tampered with
- Domain filtering for selective cloning
Investigation Timeline & Graph
- Native Rust force-directed entity relationship graph visualization (iced 0.13)
- Chronological investigation timeline with event tracking
- Graph nodes and edges with confidence-weighted relationships
- Full investigation state export
Claude API Integration (MCP Server)
- 8 specialized AI agents with shared investigation context
- Smart tool routing directs queries to the appropriate agent
- Full Claude API integration with streaming responses
- Shared context window across all agents for cross-referencing
"I don't trust anyone. It's not personal -- it's professional."
| Feature | Implementation |
|---|---|
| Zero JavaScript Runtime | Pure Rust β no JS execution surface in the host app |
| Context Isolation | CEF process isolation β each identity is a sandboxed Chromium process |
| Encrypted Storage | sled with optional encryption at rest |
| Input Validation | All inputs validated in the Rust service layer with length limits (1000 char cap) |
| URL Filtering | Dangerous protocols blocked (javascript:, data:, file:, vbscript:, blob:) |
| Lock Safety | All RwLock operations use error propagation, zero panics |
| Session Integrity | SHA-256 hashing on all cloned session data |
| Sensitive Cookie Filtering | Auth tokens and credentials stripped during session clone |
| CEF Sandboxing | Each Chromium instance runs in isolated process space |
v12.1.3 ββββββββββββββββββββ CURRENT -- "Jessica Jones"
ββ Pure Rust GUI (iced + wry), CEF, Session Cloning, Investigation Graph, Claude MCP
v5.0 ββββββββββββββββββββ
ββ "The Multiple Man" (Tauri + React)
v4.x ββββββββββββββββββββ
ββ "The Exorcist's Edge" (Electron + Svelte)
v3.x ββββββββββββββββββββ
ββ "Carmen Sandiego" - International Red
v2.0 ββββββββββββββββββββ
ββ "Tracey Edition" - Hollywood Noir
v1.0 ββββββββββββββββββββ
ββ "Dick Tracy Edition" - Classic Detective Yellow
"I don't plan ahead. But sometimes the case demands it."
v12.1.3 ββββββββββββββββββββ CURRENT -- "Jessica Jones"
ββ Pure Rust, CEF, Session Cloning, Investigation Graph, Claude MCP Server
v13.0 ββββββββββββββββββββ NEXT
ββ Collaborative investigations (multi-user hivemind),
real-time shared case boards, team identity management,
and encrypted peer-to-peer evidence sharing.
Codename TBD.
MIT License - See LICENSE for details.
- Jessica Jones / Alias Investigations -- The PI who proved you don't need a cape to get results
- iced-rs -- For the pure Rust GUI framework
- wry -- For the cross-platform WebView
- D3.js -- For making data visible
- Anthropic / Claude -- For the AI that powers the MCP agents
- The OSINT Community -- For the tools, techniques, and tradecraft
"Knowing is half the battle. The other half is not getting caught knowing."
"I don't stalk. I investigate. There's a legal distinction. Mostly."
"The internet remembers everything. My job is knowing where it keeps the receipts."
"People think privacy is about having nothing to hide. It's actually about choosing what to show."
"Every digital footprint tells a story. I'm just a really good reader."
"The best cover identity is the one nobody thinks to question."
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β A L I A S β
β I N V E S T I G A T I O N S β
β β
β ββββββββββββββββββββββββββββββββββββββββ β
β β Cases solved. β β
β β Questions answered. β β
β β Secrets found. β β
β β Identities... managed. β β
β ββββββββββββββββββββββββββββββββββββββββ β
β β
β Spin v12.1.3 - "Jessica Jones" β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Spin v12.1.3 - "Jessica Jones"
"I'm not a hero. I'm a private investigator. Now get out of my office."