Library operations
Each module defines a name, description, category, optional icon and link, input descriptors, and a payload. The backend validates size and shape before persistence.Open the module editor
Open Modules and select New Module.
Define the contract
Enter the name, description, category, optional icon and link, and the
inputs the operator must supply.
Add the payload
Add the bounded HTML and JavaScript payload, including deterministic
cleanup for timers, listeners, media resources, and visible UI.
Save and assign
Save the module, then select it in the campaign wizard. It becomes available
to authorized operators for execution on an active selected session.

Controlled module demonstrations
Each recording below uses synthetic data and a target covered by written authorization. Treat them as demonstrations of visible behavior and cleanup, not as operating instructions.ClickFix module
Credential collection module
Face KYC module
Network scanner module
modules/ before the backend’s initial startup. The supplied
Compose files mount that directory at /modules and enable seed data. At
startup, P-BitM reads its *.json files only when the module library is empty.
If the deployment already contains a module, adding another file to modules/
does not import it; re-create that definition with New Module.
Module inputs are resolved when an authorized operator executes the module for
a selected active session. The backend wraps visual content in a managed
overlay and supplies cleanup behavior.
Safety
Modules are active code. Review them for:- engagement scope and expected user-visible behavior;
- safe parameter handling;
- bounded output;
- campaign-local data submission;
- reliable cleanup;
- absence of hard-coded secrets or unrelated external endpoints.
