RODMEN/A · HITL Control Plane
Put humans in the loop
Futex is a multi-tenant control plane that lets AI agents request durable, policy-driven human decisions — multi-approver, reject-with-reasons, delegation, escalation, expiry, clearance — and resume via webhooks or polling. Non-blocking, MCP-native, and built for scale.
Free key — no signup, no dashboard
futex-freepass@mail.rodmena.co.uk
Email this address from any inbox. You'll get a futex_sk_... key back in seconds.
Lost it? Email futex-freepass+rotate@mail.rodmena.co.uk for a replacement.
Terminal # Register the MCP server claude mcp add --transport http --scope user futex-hitl \ https://futex.rodmena.co.uk/mcp/ \ --header "Authorization: Bearer <YOUR_API_KEY>"
Then say: Read https://futex.rodmena.co.uk/claude and set me up to use Futex.
Policy-Driven Approvals
Multi-stage approvals, quorum (n-of-m), separation of duties, and SLA escalation — all defined per policy, not hard-coded.
Non-Blocking Architecture
Agents request a decision and get an ID back immediately — poll or receive a webhook when a human reviews it. Never block.
Human Review Surface
Reviewers get an email with a secure link to approve, reject, delegate, or escalate — no dashboard login required.
Delegation & Escalation
Out-of-office delegation reroutes tasks automatically; SLA breaches trigger escalation to senior reviewers.
Durable & Audited
Transactional outboxes, idempotent decisions, and every action audited with acting_as and timestamp.
Multi-Tenant Isolation
Hard tenant boundaries with keys scoped to tenant plus principal. Fail-closed on auth outages — never proceed as approved.
Sequence Flow
Python / httpx # Request a decision (non-blocking) dec = api.post("/v1/decisions", json={ "policy_id": "pol_...", "idempotency_key": "deploy-1", "title": "Deploy to prod", "proposed_action": {"action": "deploy"}, "context": {"risk": "high"} }).json() # Poll until terminal while True: d = api.get(f"/v1/decisions/{dec['id']}").json() if d["status"] in TERMINAL: break time.sleep(5) if d["status"] == "approved": ... # proceed else: print(d["feedback_for_agent"])
Non-blocking by Design
Creation returns instantly; production agents poll or use webhooks — never wait synchronously for a human.
Idempotent
The same idempotency_key in a tenant returns the same decision — never double-asks.
Fail-Closed
Auth outages return 503; expiries default to timed_out. Never proceed as if approved on error.
MCP-Native
10 first-class tools over Streamable HTTP — agents connect by URL and API key, no SDK or glue code.