OnionLens. Get the sensor

A closer look
at agents
on Tor.

Observe automated behaviour on your onion service. Follow a request from first fetch to canary callback, with the evidence kept in your hands.

Self-hosted. Local records. Narrow evidence.
Watch the logo animation
REQUEST / RESPONSEIllustrative trace
ONIONspecimen-042
A signal takes shape. Fourier epicycles reconstruct OnionLens’s layered C mark. An illustrative drawing, independent of visitor activity.
Fourier reconstruction
fetch/field/fixtures/retrieval200
callback/agent/handshake+2.4s
Correlated behaviour. Identity remains unknown.
Create your own labelled trace
Built for onion operators & agent researchers
WSGI middlewareSQLite storageTor + HTTPS

A useful place
to start exploring.

Practical resources for developers building with Tor, and controlled specimens for the tools doing the reading.

Your service.
Your observations.

Wrap a WSGI application or start the reference server. Store observations locally and inspect them from your terminal.

Install OnionLens
LOCAL / PYTHON 3.10+v0.1.1
# After downloading the wheel
python -m pip install onion_observatory-0.1.1-py3-none-any.whl

cepatreaza serve --channel clearnet
# Listening on 127.0.0.1:8787

cepatreaza summary --db observatory.sqlite3

Standard library at runtime. No hosted telemetry.

Measure the behaviour.
Leave the identity unknown.

A canary callback links an action to a document fetch. It cannot establish a model’s identity, autonomous operation or malicious intent. Explicit demonstrations stay separate from unsolicited visits.

How we collect and interpret evidence