Skip to main content

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

atherdlp_server-0.1.1.tar.gz (266.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

atherdlp_server-0.1.1-py3-none-any.whl (297.5 kB view details)

Uploaded Python 3

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

Hashes for atherdlp_server-0.1.1.tar.gz
Algorithm Hash digest
SHA256 10f591a2f4d5582c941743557b96829f2470e064c011b09e5e036f32cba65afc
MD5 d388fa14da1386dc57decc4a45efe09d
BLAKE2b-256 667cd44b1f667d5db3df1fc52a97b615da7be182be063438f81d3cf3928480b1

See more details on using hashes here.

File details

Details for the file atherdlp_server-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for atherdlp_server-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f260c9790353d0a0646cd3479868a18274b8139c7d68ab55231e237d75315e2e
MD5 b9dbe9372f96867fc85b0b4fd3fbb598
BLAKE2b-256 c2c5a9f07f05b2869dd0a21299a2298b587eb8173444bb273c0c4abd8c7930f6

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page