atherdlp-server
Local AtherDLP server: the DLP policy engine, REST API, and dashboard, served on one port with no external services.
AtherDLP detects sensitive data leaving your application. The SDK intercepts
outbound httpx requests, classifies the destination, and reports what was in
the payload. This package is the other half: it evaluates those events against
your policies and shows them in a dashboard.
Quick start
pipx install atherdlp-server
atherdlp up
That applies migrations to a SQLite database, seeds a few demo events so the dashboard is not empty on first run, and opens http://localhost:8473.
No Postgres, no Redis, no Docker, no Node toolchain — the compiled dashboard ships inside the package.
Then point your application at it:
pip install atherdlp
import atherdlp
atherdlp.configure(endpoint="http://127.0.0.1:8473/events/http")
atherdlp.install()
# your app's httpx calls happen here
atherdlp.uninstall()
configure() is required for events to reach the server. Without an
endpoint, the SDK still intercepts and classifies, but delivers nowhere and
the dashboard stays empty.
What you will see
Every intercepted request is classified by destination — calls to OpenAI,
Anthropic, Gemini, Mistral and Cohere are tagged as LLM egress, Stripe as PCI —
then matched against sensitive info types and evaluated against your policies to
an allow / alert / block decision. Activity and alerts are correlated by
trace id, so one leaked field can be followed from the call that sent it to the
alert it raised.
atherdlp up
| Flag | Default | Meaning |
|---|---|---|
--host |
127.0.0.1 |
Bind address |
--port |
8473 |
Port |
--data-dir |
~/.local/share/atherdlp |
Database and uploads |
--no-browser |
off | Do not open a browser |
--no-seed |
off | Skip demo data |
State persists between runs in --data-dir. Delete that directory for a clean
slate.
This server has no authentication yet. It binds to loopback by default, which keeps it private to your machine. Do not expose it on a public interface: the read APIs return captured payload samples, which are by definition the most sensitive data the tool handles.
Optional extras
pip install "atherdlp-server[ocr]" # image OCR — also needs the tesseract binary
pip install "atherdlp-server[postgres]" # Postgres instead of SQLite
OCR degrades gracefully: without these, image extraction is skipped rather than failing the request.
Running from source
git clone <org>/AtherDLP-backend && git clone <org>/AtherDLP-frontend
cd AtherDLP-backend
python3 -m venv .venv && source .venv/bin/activate
pip install -e ".[test]"
python scripts/build_frontend.py # builds the dashboard, needs npm
atherdlp up
Run the tests with pytest (they use an in-memory SQLite database).
To develop the dashboard with hot reload, run atherdlp up and
npm run dev in AtherDLP-frontend — the Vite dev server proxies /api to
port 8473.
Deployments beyond local mode
atherdlp up sets ATHERDLP_LOCAL_MODE=true, which runs scan tasks in-process
instead of dispatching to Celery. That is correct for a single process and wrong
for a multi-worker deployment, where inline scanning blocks the request that
triggered it. For that, leave local mode off and run Celery workers against
Redis with a Postgres ATHERDLP_DATABASE_URL.
License
Apache-2.0.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file atherdlp_server-0.1.1.tar.gz.
File metadata
- Download URL: atherdlp_server-0.1.1.tar.gz
- Upload date:
- Size: 266.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
10f591a2f4d5582c941743557b96829f2470e064c011b09e5e036f32cba65afc
|
|
| MD5 |
d388fa14da1386dc57decc4a45efe09d
|
|
| BLAKE2b-256 |
667cd44b1f667d5db3df1fc52a97b615da7be182be063438f81d3cf3928480b1
|
File details
Details for the file atherdlp_server-0.1.1-py3-none-any.whl.
File metadata
- Download URL: atherdlp_server-0.1.1-py3-none-any.whl
- Upload date:
- Size: 297.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f260c9790353d0a0646cd3479868a18274b8139c7d68ab55231e237d75315e2e
|
|
| MD5 |
b9dbe9372f96867fc85b0b4fd3fbb598
|
|
| BLAKE2b-256 |
c2c5a9f07f05b2869dd0a21299a2298b587eb8173444bb273c0c4abd8c7930f6
|