Start only what you choose.
Browser Catnap, a local Docker Catbox, and running your own Commons are different actions. Opening this page starts no computing, installs nothing, and gives nobody access to your Docker daemon. Every path has an explicit stop and removal procedure.
Contribute from your browser
What runs: a Web Worker on this device performs only approved built-in SHA-256 tasks. A screen animation is not compute. No Docker, native GPU, background service, or filesystem access is installed.
Before starting: choose trusted approved Cat creators, categories, commercial consent and best-effort CPU pacing; preview your PoliC; acknowledge power and heat costs. You must then Enroll and separately press Start Catnap.
Stop: click Pause to stop the local worker; click Revoke Consent to invalidate your node credential at the coordinator. Closing the page also stops the worker but is not a substitute for revocation.
Remove: after successful revocation, clear this site's browser data if you also want to discard saved local settings and keys. Clearing browser storage before revoking can make the stored node token unrecoverable. Server audit history is not erased by revocation.
Configure My PoliC in the browserStart your own Catbox
What runs: a non-root Docker container running the existing native PoliC@home worker. It can lease approved, signature-checked sha256_chain_v1 tasks from a Commons you choose. It continues running after the browser is closed until you pause it, revoke, or Docker stops it. It is not an arbitrary OCI workload runner or a GPU agent. It requires Docker Engine/Compose and local shell access; this website cannot launch Docker on your device.
0.5 of one logical CPU (not half the whole PC), 768 MiB container memory, 64 processes, read-only root filesystem, dropped Linux capabilities, no-new-privileges. Policy also limits task memory and time.
No CPU/GPU temperature telemetry, electricity ceiling, GPU usage, or full VM isolation. Docker shares a kernel and allows outbound network connectivity. Do not execute unknown or uploaded images.
The enrollment script displays the Cat catalog and complete resource disclosure, asks which creator keys to trust, and requires you to type I CONSENT. Enrollment starts no work.
Get the source and check your tools
Use a Linux or WSL terminal. Download the complete source snapshot (not a Git-history clone). Extract into ~/projects on WSL (not /mnt/c, where file permissions may expose secrets). From its extracted directory:
docker compose version python3 --version
Confirm Docker runs correctly. Docker group access is effectively root-equivalent; review what you run before trusting this software.
Enroll, then start
For your own locally hosted Commons at http://127.0.0.1:8765:
bash scripts/catbox-local.sh enroll bash scripts/catbox-local.sh start bash scripts/catbox-local.sh status
To contribute from your own Docker machine to an external HTTPS Commons instead, enroll against its actual URL:
bash scripts/catbox-local.sh enroll https://your-commons.example bash scripts/catbox-local.sh start
The Catbox starts with its own Compose file and needs no Commons administrator token. It can share the local Commons network when both are launched from this checkout. The coordinator must explicitly enable anonymous self-enrollment. The local setup does by default. Enrollment with no trusted Cats is valid but idle. Trust in a signer includes that creator's future operator-approved Cats under your other restrictions. Changing your registered PoliC currently requires revocation and re-enrollment.
Inspect / pause / resume
bash scripts/catbox-local.sh logs bash scripts/catbox-local.sh pause bash scripts/catbox-local.sh resume
Pause immediately stops your own container and retains consent/credentials so you can resume. Revoke stops the container and tells the Commons to reject future leases. Neither deletes the coordinator's audit history.
Revoke and completely remove your Catbox
bash scripts/catbox-local.sh revoke bash scripts/catbox-local.sh remove
Remove confirms coordinator revocation, deletes only this Catbox's container and local credentials, and keeps your source checkout and the independent Commons intact. If the server is offline, it stops locally but keeps the token so you can retry revocation; it never silently pretends consent was revoked.
Run your own Commons in Docker
What runs: a coordinator and browser UI, bound to 127.0.0.1:8765 on the Docker host; a persistent Docker volume holds its SQLite DB. This is not a Catbox and does not donate your CPU/GPU to jobs simply by hosting.
Install and start
Download source ZIP. It contains the launcher scripts, current source, tests, and docs, with no existing tokens or runtime database. Unzip it in your own Linux/WSL directory.
unzip PoliCatHome-source.zip cd PoliCatHome-source bash scripts/start-local.sh # Open http://localhost:8765 # Keep runtime/admin-token.txt private
The launcher creates an administrator secret under runtime/admin-token.txt. Treat this as an account password. Never enter it into an untrusted website, publish it, or place it in a source repository.
Stop or restart (keeps everything)
bash scripts/stop-local.sh # restart later: bash scripts/start-local.sh
Stop leaves the database volume and admin token in place, so your Commons can resume.
Delete your own Commons and its data
# First revoke/remove any native Catbox: bash scripts/catbox-local.sh remove # Then explicitly purge the Commons: bash scripts/remove-local.sh --purge-data
The removal script demands the exact phrase DELETE MY COMMONS before deleting the coordinator container, its Docker database volume, and the local admin-token file. This is irreversible for local history and receipts unless you made backups. It does not delete unrelated Docker projects, your source checkout, or audit copies held by other participants.
Public deployment warning: the included Docker configuration is loopback-only for local testing. Do not forward port 8765 directly to the Internet. A public Commons needs HTTPS, ingress controls, abuse controls, operational backup/restore planning, secret handling, and an independent security review.
Removal means three different things
| Mode | Stop computing | Revoke authorization | Delete local artifacts |
|---|---|---|---|
| Browser Catnap | Pause / close tab | Revoke Consent button | Clear site data after revocation |
| Native Catbox | catbox-local.sh pause | catbox-local.sh revoke | catbox-local.sh remove |
| Commons server | stop-local.sh | Revoke Catbox nodes first | remove-local.sh --purge-data |
No workflow promises deletion of Chronicle events or receipts stored by other Commons participants. Neither a website nor a coordinator can start local Docker without an installed, explicitly authorized local component.
Return to PoliC@home Legacy self-host guide · Freedom and licensing