Run an Android handset on hardware you control — a PC, a Raspberry Pi, a home server, or a cluster. The device in your pocket becomes a revocable terminal that stores nothing.
Apache-2.0
Go + PWA
Self-hosted
No telemetry
Console lockedAuthenticate to manage phone instances.
Handsets
Phone instances
No phone instances
Create a persistent personal handset, or a disposable session that destroys itself the moment it stops.
Security
Runtime posture
Audit
Recent events
How it works
Three moving parts
01
Control plane
ephemerald owns lifecycle, state, audit events, and short-lived connection tickets. It never depends on a specific Android runtime.
02
Runtime node
ephemeral-agent launches the handset — Cuttlefish, Waydroid, Anbox, KubeVirt, or your own script — on the same host or a separate one.
03
Thin client
This PWA and the Android WebView shell are terminals. Revoke a ticket and the device in your hand is left holding nothing.
Run it in one command
Multi-platform images are published to GitHub Container Registry on every tag.
docker run --rm -p 8080:8080 \
-e EPHEMERAL_ADMIN_TOKEN='a-long-random-value' \
ghcr.io/eoinjordan/ephemeral-phone:v1.0.0
Honest status: this is an engineering MVP, not a production security appliance. The default mock runtime provides no Android isolation, so do not trust it with sensitive workloads.