Install
openclaw skills install openexec-skillSource-distributed deterministic execution service with pinned dependencies. Runs only with a signed approval artifact (ClawShield mode) and emits verifiable...
openclaw skills install openexec-skillOpenExec is a runnable governed execution service. It executes only what has already been approved.
It is not an agent. It is not a policy engine. It does not self-authorize.
OpenExec performs no outbound HTTP, RPC, or governance calls during signature verification or execution. All verification is fully offline. By default, OpenExec uses a local SQLite database (sqlite:///openexec.db). Database network I/O occurs only if explicitly configured by the operator via OPENEXEC_DB_URL.
pip install -r requirements.txt
python -m uvicorn main:app --host 0.0.0.0 --port 5000
GET / → service info (deployment health check)GET /health → health status, mode, restriction levelGET /ready → readiness checkGET /version → version metadataPOST /execute → execute an approved action deterministicallyPOST /receipts/verify → verify receipt hash integrityNo external governance required. No env vars required.
export OPENEXEC_MODE=demo
Demo mode still enforces:
Requires a signed approval artifact issued by ClawShield. OpenExec verifies the Ed25519 signature offline using the configured public key.
export OPENEXEC_MODE=clawshield
export CLAWSHIELD_PUBLIC_KEY="-----BEGIN PUBLIC KEY----- ... -----END PUBLIC KEY-----"
export CLAWSHIELD_TENANT_ID="tenant-id"
If signature validation fails, execution is denied.
Note: ClawShield governance SaaS is available at https://clawshield.forgerun.ai/. OpenExec does not contact this URL at runtime. It is provided for reference only.
All environment variables are optional. OpenExec runs with zero configuration in demo mode.
| Variable | Default | Description |
|---|---|---|
OPENEXEC_MODE | demo | Execution mode: demo or clawshield |
CLAWSHIELD_PUBLIC_KEY | (none) | PEM-encoded Ed25519 public key for signature verification |
CLAWSHIELD_TENANT_ID | (none) | Tenant identifier for multi-tenant isolation |
OPENEXEC_ALLOWED_ACTIONS | (none) | Comma-separated list of permitted actions. If unset, all registered actions are allowed |
OPENEXEC_DB_URL | sqlite:///openexec.db | Database URL for execution record persistence |
python -m uvicorn main:app --host 0.0.0.0 --port 5000
curl http://localhost:5000/health
curl -X POST http://localhost:5000/execute \
-H "Content-Type: application/json" \
-d '{
"action":"echo",
"payload":{"msg":"hello"},
"nonce":"unique-1"
}'
curl -X POST http://localhost:5000/execute \
-H "Content-Type: application/json" \
-d '{
"action":"echo",
"payload":{"msg":"hello"},
"nonce":"unique-1"
}'
Every execution produces a receipt hash. Receipts are evidence, not logs.
Verify a receipt:
curl -X POST http://localhost:5000/receipts/verify \
-H "Content-Type: application/json" \
-d '{"exec_id":"<id>","result":"<result_json>","receipt":"<hash>"}'
OpenExec enforces execution boundaries at the application layer. It does not provide OS-level sandboxing. Deploy behind containerization, VM isolation, or hardened environments when actions interact with production systems.
OpenExec enforces authority separation. It is not a sandbox.
Each layer is replaceable. No single layer can act alone.
A full security model, threat assumptions, and production hardening checklist are available in SECURITY.md.
This skill intentionally separates:
This skill: