0.
The check grew from 12 to 14 steps on 2026-09-30, when it started adding a
refund manager through maker checker (every refund needs a signed approval).
Run the same day: 14 of 14 passed.
1 and print the API log.
What it does
- Builds while online. It builds the API image and pulls
postgres:16. This is the only step that needs a network. - Makes your keys, if needed. It runs
setup, so./parmana-localhas your signing keys. - Starts an isolated copy. It starts a second copy of the deployment under the project name
parmana-offline-check, with its own empty database, on a Docker network created withinternal: true. No container on that network has a route to the internet or to Parmana. - Runs the checks below, from a container on the same network that holds your public keys and its own throwaway API keys, and no private key.
- Cleans up. It removes the copy’s containers and database. Your deployment started with
docker compose upis not touched, and your API keys are not changed.
./parmana-local/keys, so the record it produces is signed exactly as your deployment would sign it.
The 14 checks
No agent action is authorized without a signed human approval (Human approval), so the
check adds a refund manager through maker checker, the same way an operator would, with a key it makes inside the
isolated network. The image itself trusts no approver.
The stand in for your downstream system
The downstream system in the check was a stand-in for an external endpoint,paytm-agent-stand-in.mjs, which was removed with the harness. It took the place of that endpoint. It:
- answers the connector route the way the real endpoint does;
- refuses any request whose Execution Gateway signature does not verify with the gateway’s public key;
- never calls any external system;
- serves HTTPS with a certificate made for the run, because the server refuses a plain HTTP connector URL in production. The server trusts that one certificate for the run only.
Verify the record again, anywhere
The check leaves four files inparmana-local/offline-check/: trust-record.json, default.public.pem, default-secondary.public.pem and gateway.public.pem. Anyone can check the record on any machine with a clone of the repository, npm install and Node.js 24 or newer:
0:
What it does not cover
- Building offline. The image is built while online. The check proves running without the internet, not installing without it.
- Your real downstream system. It uses the stand in. Your own connector is tested by your own requests.