# OSINT People Search — Deployment Reference

**Deployed:** July 10, 2026
**URL:** `ops.itpropartner.com/osint/`
**API:** `ops.itpropartner.com/api/` → port 8100

## Architecture

```
Browser → Caddy → ops.itpropartner.com
                    ├── /osint/* → /var/www/osint/index.html (static)
                    └── /api/*   → 127.0.0.1:8100 (FastAPI)
```

## Toolchain

| Tool | Input | Output | Cost |
|---|---|---|---|
| Holehe | Email | 120+ site registrations | Free |
| HaveIBeenPwned | Email | Breach history | $3.50/mo |
| Maigret | Username | 2,500+ site profiles | Free |
| Twilio Lookup | Phone | Carrier, CNAM | ~$0.02/lookup |

## Files

| Path | Purpose |
|---|---|
| /opt/osint-api/api.py | FastAPI backend |
| /opt/osint-api/venv/ | Virtual env with holehe, maigret, twilio, fastapi |
| /var/www/osint/index.html | Frontend search page |
| /etc/systemd/system/osint-api.service | systemd unit |

## Systemd

```
[Unit]
Description=OSINT API Service
After=network.target redis-server.service
[Service]
Type=simple
User=root
WorkingDirectory=/opt/osint-api
ExecStart=/opt/osint-api/venv/bin/uvicorn api:app --host 127.0.0.1 --port 8100
Restart=on-failure
```

## Caddy config (in ops.itpropartner.com block)

```
handle_path /osint/* {
    root * /var/www/osint/
    file_server
}
handle_path /api/* {
    reverse_proxy 127.0.0.1:8100
}
```

## API Endpoints

| Method | Path | Description |
|---|---|---|
| GET | /health | Health check |
| POST | /api/search/fast | Fast path: Holehe + HIBP (under 5s) |
| POST | /api/search/deep | Deep path: Maigret (1-2 min) |

## Dependencies

- Redis (apt install redis-server)
- Python 3.13 + venv
- holehe, maigret, twilio, fastapi, uvicorn, celery, redis (pip)
- discord.py (for Discord bridge — in development)

## Consumers

- ops.itpropartner.com/osint/ — standalone search page
- DRE skip tracing pipeline (via API, planned)
