Alliance Intel & Recruitment Analysis Tool for EVE Online
Analyze ESI data from alliance auth systems to produce risk assessments for recruitment. Identifies playstyle, detects alts, and flags potential security risks.
| Platform | Status | Download |
|---|---|---|
| Web (PWA) | Available | Install from browser |
| Docker | Available | Docker Hub |
| macOS (Apple Silicon) | Available | Releases |
| macOS (Intel) | Available | Releases |
| Windows | Available | Releases |
| Linux | Available | Releases |
| iOS | Coming Soon | App Store |
| Android | Coming Soon | Google Play |
- Risk Scoring: Green/Yellow/Red flag system for applicants
- Corp History Analysis: Detect spy corps, rapid corp hopping, suspicious patterns
- Alt Detection: Identify likely alts through activity patterns and correlations
- Playstyle Profiling: Classify pilots (PvPer, industrialist, capital pilot, etc.)
- Alliance Auth Bridge: Connect to SeAT, Alliance Auth, or custom auth systems
- ESI Direct Access: Authenticated ESI queries for detailed character data
- zKillboard Analysis: PvP history, AWOX detection, activity patterns
- Wallet Analysis: ISK flow patterns, RMT detection (requires auth data)
- Detailed Reports: Comprehensive applicant analysis with confidence scores
- Webhook Notifications: Discord/Slack alerts for high-risk applicants
- Batch Processing: Analyze multiple applicants efficiently
- Historical Tracking: Track applicants over time
git clone https://github.com/AreteDriver/EVE_Sentinel.git
cd EVE_Sentinel
# Create virtual environment
python -m venv .venv
source .venv/bin/activate
# Install dependencies
pip install -e .cp .env.example .env
# Edit .env with your ESI credentials and auth bridge settingsuvicorn backend.main:app --reload --host 0.0.0.0 --port 8000API docs: http://localhost:8000/docs
| Endpoint | Method | Description |
|---|---|---|
/api/v1/analyze/{character_id} |
POST | Full recruitment analysis |
/api/v1/analyze/batch |
POST | Analyze multiple characters |
/api/v1/quick-check/{character_id} |
GET | Fast risk assessment |
| Endpoint | Method | Description |
|---|---|---|
/api/v1/reports |
GET | List all reports |
/api/v1/reports/{report_id} |
GET | Get specific report |
/api/v1/reports/{report_id}/pdf |
GET | Download PDF report |
| Endpoint | Method | Description |
|---|---|---|
/api/v1/webhooks |
POST | Configure notifications |
/api/v1/webhooks/test |
POST | Test webhook delivery |
| Flag | Description |
|---|---|
KNOWN_SPY_CORP |
Member of known spy/hostile corporation |
AWOX_HISTORY |
History of killing corp/alliance mates |
RAPID_CORP_HOP |
5+ corps in 6 months |
RMT_PATTERN |
Suspicious ISK transfer patterns |
HIDDEN_ALTS |
Undisclosed alts detected |
ENEMY_STANDINGS |
Negative standings with your alliance |
| Flag | Description |
|---|---|
LOW_ACTIVITY |
<20 kills in 90 days |
SHORT_TENURE |
<30 days in current corp |
NO_ASSETS |
No significant assets declared |
TIMEZONE_MISMATCH |
Activity outside corp's primary TZ |
CYNO_ALT_PATTERN |
Likely cyno/scout alt |
NEW_CHARACTER |
Character <6 months old |
| Flag | Description |
|---|---|
ACTIVE_PVPER |
Regular PvP activity |
ESTABLISHED |
2+ years, stable corp history |
CAPITAL_PILOT |
Owns/flies capitals |
VOUCHED |
Known by existing members |
CLEAN_HISTORY |
No negative indicators |
EVE_Sentinel/
├── backend/
│ ├── analyzers/ # Analysis modules
│ │ ├── killboard.py # zKillboard analysis
│ │ ├── corp_history.py # Corp history analysis
│ │ ├── activity.py # Activity patterns
│ │ ├── assets.py # Asset analysis
│ │ ├── wallet.py # Wallet/ISK analysis
│ │ ├── social.py # Alt detection
│ │ └── risk_scorer.py # Aggregate scoring
│ ├── connectors/ # External data sources
│ │ ├── esi.py # ESI client
│ │ ├── zkill.py # zKillboard API
│ │ └── auth_bridge.py # Alliance Auth/SeAT
│ ├── models/ # Data models
│ │ ├── applicant.py # Applicant profile
│ │ ├── report.py # Analysis report
│ │ └── flags.py # Risk flags
│ ├── api/ # FastAPI routes
│ │ ├── analyze.py
│ │ ├── reports.py
│ │ └── webhooks.py
│ └── main.py # FastAPI app
├── frontend/ # Web dashboard (optional)
├── tests/
└── docs/
{
"character_id": 12345678,
"character_name": "Suspicious Pilot",
"analysis_date": "2024-01-15T10:30:00Z",
"overall_risk": "YELLOW",
"confidence": 0.82,
"flags": [
{
"type": "RED",
"category": "corp_history",
"reason": "Member of 'Goonwaffe' (known hostile) for 3 months in 2022",
"evidence": {"corp_id": 667531913, "start": "2022-03-01", "end": "2022-06-01"}
},
{
"type": "YELLOW",
"category": "activity",
"reason": "Only 12 kills in past 90 days",
"evidence": {"kills_90d": 12, "avg_alliance": 45}
},
{
"type": "GREEN",
"category": "assets",
"reason": "Owns capitals, established in region",
"evidence": {"capitals": ["Revelation", "Apostle"], "region": "Delve"}
}
],
"playstyle": {
"primary": "Capital Pilot",
"secondary": "Small Gang PvP",
"ship_preferences": ["Dreadnought", "HAC", "Logi"],
"timezone": "EU-TZ",
"peak_hours": "18:00-23:00 EVE",
"activity_level": "Moderate"
},
"alt_analysis": {
"likely_main": false,
"suspected_alts": [
{"name": "Cyno Alt III", "confidence": 0.87, "reason": "Login correlation"}
],
"declared_alts": ["Industry Alt"],
"alt_count_estimate": 2
},
"recommendations": [
"Request full API access for deeper analysis",
"Verify reason for leaving Goonswarm",
"Confirm capital ship locations"
]
}# ESI Configuration
ESI_CLIENT_ID=your_client_id
ESI_SECRET_KEY=your_secret_key
ESI_CALLBACK_URL=http://localhost:8000/callback
# Alliance Auth Bridge (optional)
AUTH_BRIDGE_URL=https://auth.youalliance.com/api
AUTH_BRIDGE_TOKEN=your_token
# Database
DATABASE_URL=sqlite:///./sentinel.db
# Webhooks
DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/...
SLACK_WEBHOOK_URL=https://hooks.slack.com/services/...
# Known Hostile Corps/Alliances (comma-separated IDs)
HOSTILE_CORPS=667531913,98000001
HOSTILE_ALLIANCES=1354830081,99000001# Install dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Type checking
mypy backend/
# Linting
ruff check .EVE Sentinel is a Progressive Web App (PWA) that can be installed directly from your browser:
- Open EVE Sentinel in Chrome, Edge, or Safari
- Look for the "Install" button in the address bar (or menu)
- Click "Install" to add it to your home screen/applications
The PWA works offline for cached data and syncs when online.
# Quick start with Docker
docker run -d \
--name eve-sentinel \
-p 8000:8000 \
-v sentinel-data:/app/data \
-e ESI_CLIENT_ID=your_client_id \
-e ESI_SECRET_KEY=your_secret_key \
ghcr.io/aretedriver/eve_sentinel:latest
# Or using Docker Compose
docker compose up -dRailway (recommended for beginners):
# One-click deploy
railway init
railway upFly.io:
fly launch --no-deploy
fly secrets set ESI_CLIENT_ID=xxx ESI_SECRET_KEY=xxx
fly deployRender: Connect your GitHub repo and deploy automatically.
Heroku/Dokku: Uses the included Procfile.
Native desktop apps are available for Windows, macOS, and Linux:
- Go to Releases
- Download the installer for your platform:
- macOS:
.dmg(Intel or Apple Silicon) - Windows:
.msior.exe - Linux:
.AppImageor.deb
- macOS:
# Install Tauri CLI
cargo install tauri-cli
# Build for your current platform
cd src-tauri
cargo tauri build
# Build for specific target
cargo tauri build --target aarch64-apple-darwin # macOS ARM
cargo tauri build --target x86_64-pc-windows-msvc # WindowsTo build for iOS (requires macOS and Xcode):
cd src-tauri
cargo tauri ios init
cargo tauri ios buildThen open the generated Xcode project to sign and submit to App Store.
To build for Android (requires Android Studio and NDK):
cd src-tauri
cargo tauri android init
cargo tauri android build --apkThe APK will be generated in src-tauri/gen/android/app/build/outputs/.
- Set up Apple Developer account ($99/year)
- Configure signing identity in
src-tauri/tauri.conf.json - Generate app icons (use
tauri iconcommand) - Build with
cargo tauri build --target aarch64-apple-darwin - Submit via Xcode or Transporter
- Set up Google Play Developer account ($25 one-time)
- Configure signing keystore
- Build release AAB:
cargo tauri android build --aab - Upload to Play Console
- Core analysis framework
- ESI integration
- zKillboard analysis
- Web dashboard
- PWA support
- Docker containerization
- Desktop apps (Tauri)
- Discord webhook notifications
- iOS App Store release
- Android Play Store release
- Alliance Auth bridge
- SeAT integration
- Discord bot integration
- PDF report generation
- Machine learning risk scoring
MIT License - see LICENSE
This tool is designed for legitimate alliance security purposes. Always respect EVE Online's EULA and ESI terms of service. Do not use for harassment or malicious purposes.
Built for EVE Online alliance security | Report Issues