P-BitM separates the trusted administrative control plane from per-campaign
and per-session workloads.
This documentation normally uses target for a person or system inside the
authorized assessment scope. It uses victim for P-BitM’s runtime entity and
where the operator interface or implementation uses that name, including a
victim session, Victim, victim_id, and the CLI victim subcommand. The term
does not imply authorization; P-BitM must only be used with explicit written
authorization.
Control plane
The Vue frontend serves the dashboard and proxies authenticated API requests
to the FastAPI admin backend. The admin backend owns users, resources,
campaign state, storage, and Docker orchestration.
Campaign plane
Each campaign runs a dedicated FastAPI/nginx service behind Traefik. It handles
the campaign entry flow, target WebSockets, authenticated communication with
the admin backend, and private routing to the assigned browser container.
Browser plane
Each active victim—the authorized target represented by the runtime
record—receives an isolated VNC or Selkies container. Browser
containers do not receive direct access to the Docker socket or admin
credentials.
Traefik and the admin backend use separate socket-proxy services and internal
networks. Traefik receives read-only discovery capabilities. The admin backend
receives the limited mutation capabilities required to manage application
workloads. Last modified on August 28, 2026