A vendor-agnostic, court-admissible, open-source desktop email forensic investigation platform.
Watch the complete hands-on walkthrough showing how to investigate email evidence from case setup to court-ready verification:
What's covered in the video:
- 0:00 β Introduction to J12 Forensic Platform
- 0:15 β Case Creation & Directory Settings
- 0:45 β Case Dashboard & Primary Target Dossier
- 1:25 β Evidence Ingestion Hub (File Import, Live IMAP & OAuth 2.0)
- 2:05 β Forensic Artifact Taxonomy Hub (Credentials, Crypto, Banking, Phone Numbers)
- 2:50 β Evidence Attachments Gallery & Email Detail Viewer
- 3:35 β Tagging Evidence & Adding Investigator Notes
- 4:20 β Email Messages & Advanced Search (Boolean & Piping)
- 4:45 β Communication Network Graph & Organic Force Mapping
- 5:15 β Entity Profiles & Person Resolution (Inspecting
swhite@enron.com& 733 Recovered Deleted Emails) - 5:50 β Incident Timeline & Activity Chronology
- 6:05 β Case Management, Chain of Custody & Evidence Integrity Verification
J12 is a desktop application for email forensic investigation. It ingests mailbox data (EML/MBOX/PST/OST/MSG) and provides timeline-first investigation workflow with communication graph, fraud/anomaly detection, and court-ready reporting.
Key Principles:
- Local-first: All data stored locally, no cloud dependency
- Forensic integrity: SHA-256 hashing, chain of custody, audit logging
- AI as assistant: AI provides suggestions, not determinations
- Open source: MIT licensed, community-driven
- File Import: EML, MBOX, PST, OST, MSG, EMLX, TNEF formats
- IMAP: Live mailbox acquisition with streaming
- POP3: Legacy mailbox support
- Forensic Imaging: Disk imaging support (UI placeholder)
- Header Analysis: Received chain, timing anomalies, hop analysis
- Authentication: SPF, DKIM, DMARC, ARC verification
- Spoofing Detection: Display name spoofing, domain impersonation
- Risk Scoring: 0-100 score based on multiple factors
- Entity Extraction: Automatic people/organization identification
- Advanced Search: 14+ search operators, filters
- Entity Profiles: Communication patterns, relationships
- Timeline: Chronological event visualization
- Communication Graph: Network relationship mapping
- Artifacts Hub: 12 domains, 80+ app signatures
- Natural Language Search: Ask questions in plain English
- Evidence Explanation: AI explains forensic findings
- Investigation Planning: Step-by-step investigation plans
- Timeline Analysis: Pattern and anomaly detection
- Spoofing Analysis: Deep email authentication analysis
- Attachment Triage: Risk assessment for attachments
- Graph Analysis: Communication pattern insights
- Entity Resolution: Identify duplicate entities
- Anomaly Detection: Unusual pattern identification
- Report Generation: Automated report drafting
- PDF Export: Professional PDF reports
- 12 Report Sections: Executive summary, findings, timeline, etc.
- Exhibits: Attach specific emails as evidence
- Chain of Custody: Complete handling history
- Audit Log: All actions logged with timestamps
- Node.js 20+ and npm 10+
- Rust 1.70+ (install via rustup)
- Tauri CLI (
cargo install tauri-cli)
See Installation Guide for platform-specific requirements.
# Clone the repository
git clone https://github.com/iampopg/J12.git
cd J12
# Install frontend dependencies
cd frontend && npm install && cd ..
# Run in development mode
cd frontend && cargo tauri dev- Username:
admin - Password:
admin123
cd frontend && cargo tauri build| Document | Description |
|---|---|
| README | Project overview and quick start |
| Installation | Detailed setup guide |
| User Guide | How to use the application |
| Contributing | How to contribute |
| Architecture | System architecture |
| API Reference | Backend API documentation |
| Database Reference | Complete database schema |
| System Audit | Complete system audit |
| AI Architecture | AI investigation engine design |
| Security | Security policy |
| Changelog | Version history |
| Roadmap | Planned features |
J12/
βββ frontend/ # React frontend
β βββ src/
β β βββ components/ # Reusable UI components
β β βββ views/ # Page-level views
β β βββ pages/ # Top-level pages
β β βββ utils/ # Utility functions
β βββ package.json
βββ src-tauri/ # Rust backend
β βββ src/
β β βββ commands/ # Tauri command handlers
β β βββ ai.rs # AI integration
β β βββ analysis.rs # Analysis engines
β β βββ db.rs # Database layer
β β βββ models.rs # Data structures
β β βββ main.rs # Application entry
β βββ Cargo.toml
βββ docs/ # Documentation
βββ LICENSE # MIT License
βββββββββββββββββββββββββββββββββββββββββββββββ
β Frontend (React + TypeScript) β
β Components β Views β Pages β Utils β
βββββββββββββββββββββββββββββββββββββββββββββββ
β
Tauri IPC Bridge
β
βββββββββββββββββββββββββββββββββββββββββββββββ
β Backend (Rust) β
β Commands β Analysis β AI β Parser β
βββββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββββββββββ
β Database (SQLite) β
β 25 tables, 38 indexes, WAL mode β
βββββββββββββββββββββββββββββββββββββββββββββββ
See Architecture for detailed information.
- 25 tables with full relationships
- 38 indexes for performance optimization
- WAL mode for concurrent read/write
- Migration system for schema updates
See Database Reference for complete schema.
J12 supports multiple AI providers:
| Provider | Type | Privacy |
|---|---|---|
| Ollama | Local | β Fully private |
| OpenAI | Cloud | |
| Anthropic | Cloud | |
| OpenRouter | Cloud | |
| kilo.ai | Cloud |
Recommendation: Use Ollama for sensitive investigations.
- All data stored locally
- No telemetry or tracking
- SHA-256/SHA-512 evidence hashing
- Chain of custody tracking
- Audit logging for all actions
See Security Policy for more information.
We welcome contributions! See Contributing Guide for:
- Development setup
- Coding standards
- Pull request process
- Code review guidelines
See Roadmap for planned features:
- v1.1: Stability & polish
- v1.2: Enhanced analysis
- v1.3: Collaboration features
- v2.0: Database encryption
- v2.1: Advanced AI
- v3.0: Enterprise features
This project is licensed under the MIT License - see LICENSE for details.
Inspired by Abiola June 12 β Branding is green J + white 12.
- Documentation: See
docs/directory - Issues: Open a GitHub issue
- Discussions: Use GitHub discussions
Built with Tauri, React, and Rust

