API docs · Get access

Compare — with proof, not adjectives

claims run 2026-09-05 14:35 UTC · 16 of 16 proven · competitor columns from their own sites and docs, snapshot 2026-09-03

Every sentence in the first column is the docstring of a test that ran today against this codebase. If a test goes red, its sentence is removed from this page before it is published. The competitor columns quote the vendors' own sites and documentation and say "not described" where we found nothing — we do not guess.

ClaimRaposa AvalApproval pause in an agent SDKgotoHuman (per their site and docs)Orako (per their site)
Every decision is sealed in a SHA-256 hash chain; editing one past entry breaks verification from that point. test_claim_audit_chain_detects_tampering log line, editable'audit logs' on Business ($950); tamper-evidence not describedconversations 'saved, searchable, attributed'; tamper-evidence not described
The customer's own approver is named on the decision — in the approval, the webhook and the audit export. test_claim_named_approver_in_decision_and_export only if you log itreviewer acts in the Agent Inbox; name in export not describedanswers attributed with author and date
Approve-by-email links are safe for mail scanners: opening the link decides nothing, only the button does. test_claim_email_link_get_never_decides no email channelemail notifications; link semantics not describedno email channel described (Slack, Discord, inbox)
A tampered or expired approval link is refused (403/410) and leaves no trace in the audit trail. test_claim_tampered_link_is_refused n/anot describednot described
Approve from Telegram: a card with two buttons; updates are accepted only with the webhook secret, and a press decides under the approver's name. test_claim_telegram_buttons_need_the_webhook_secret you build the botno Telegram (web inbox, email, Slack; Teams 'soon')no Telegram (Slack, Discord, dashboard)
Approve from Slack: a direct message with two buttons; every press is verified against Slack's request signature and decides under the approver's name. test_claim_slack_buttons_are_signature_checked you build the appSlack notifications on every plananswer in the Slack thread
Two-signature approvals: only the named group may decide, and every signer's name is on the decision. test_claim_n_of_m_records_every_signer you build it'review routing' from Team ($99); N-of-M not describednot described
If approvers stay silent, a reminder goes out exactly once and a second person can be pulled in, with their own name on the decision. test_claim_reminder_once_and_escalation you build itnot described in docs index'nudges and team channel alerts' for unanswered questions
A customer can only read its own approvals; another customer's id answers 404, not 403. test_claim_customers_are_isolated single tenantworkspaces (1; 5 on Business)orgs and projects
Timeouts are never approvals: the MCP server and both SDKs return approved=false on silence. test_claim_silence_is_not_consent depends on your codenot describednot described
Webhooks are HMAC-signed with the customer's secret and retried four times, every attempt audited. test_claim_webhook_is_signed_and_retried you build itwebhooks are the integration model; signing and retries not describedMCP round-trip; webhooks not described
Each approver login can carry its own TOTP second factor, issued by the operator, never self-enrolled from a stolen password. test_claim_totp_available_per_approver n/anot describednot described
Error tracking (Sentry, EU region) never receives approval context, emails, tokens or request bodies. test_claim_error_tracking_never_sees_customer_data your own stacknot describednot described
Servers and database are in Germany (OVH, Frankfurt), encrypted backups in France; verified by whois of the live host. test_claim_hosted_in_the_eu wherever you run'secure European servers', GDPR; Berlin companyregion not stated; self-hosting available (AGPL, Docker Compose)
DPA, sub-processor list, privacy policy and security page are public — no NDA, no sales call. test_claim_legal_pages_published n/aDPA 'by contacting the founders'not described
The same approval tools are served over HTTP at /mcp for Claude.ai, ChatGPT and Smithery: tool schemas are public, a call without a key creates nothing and says where to get one, a timeout is never an approval. test_claim_remote_mcp_needs_a_key_and_waits_bounded in-process onlyMCP server offered; remote HTTP endpoint not describedremote MCP is their only interface (Claude Code, Cursor, Codex)

Where they are ahead today: gotoHuman has an editable Agent Inbox (reviewers can edit the AI output before approving), Make.com and n8n nodes, Microsoft Teams announced, and an established customer base. Orako is open source (AGPL, Docker Compose), self-hostable and cheaper for a small team. If you need to edit the agent's answer before approving, gotoHuman fits better; if you want to run it yourself, Orako. If you need a record an auditor accepts on any plan, Telegram approvals and a price that does not grow with the number of approvers, we are the fit.

Price list, side by side

Public prices as of 2026-09-03, excluding VAT. We charge per decision, not per person: adding an approver never changes the bill.

Raposa AvalgotoHumanOrako
Free tier€0 — 100 decisions / month, does not expire, unlimited approvers, audit export included$0 — 1 seat, up to 300 reviews / month, 7-day historyopen-source core, self-hosted — 5 users, 1 org, 1 project
Team price€149 / month — 2,500 decisions, unlimited approvers$99 / month — 6 seats, +$15 per extra seat$12 per seat / month, 14-day trial
Next tiersBusiness — custom, unlimited decisions, own domain, DPA to your policyGrowth $350 (20 seats) · Business $950 (50 seats)Founder lifetime $196 one-time (50 users, offline licence) · self-hosted Enterprise
Audit loghash-chained, exportable, on every plan'audit logs' listed on Business ($950)searchable, attributed history; tamper-evidence not described
History retentionfull retention on every plan7 days (Free) · 60 days (Team) · 90 days (Growth) · custom (Business)not described
Pricing unitdecisions per monthseats + reviewsseats
HostingGermany (OVH Frankfurt), backups in France'secure European servers', GDPR, company in Berlinhosted (region not stated) or self-hosted

Repeat the run yourself:

git clone https://github.com/agentlabbusiness/dcescrypt-hitl && cd dcescrypt-hitl
python3 -m venv .venv && .venv/bin/pip install -r requirements.txt
.venv/bin/python -m pytest tests/test_claims.py -v

Sources for the competitor columns: gotoHuman — www.gotohuman.com/ · www.gotohuman.com/pricing · docs.gotohuman.com/ · docs.gotohuman.com/llms.txt; Orako — orako.io/ · orako.io/compare/humanlayer-alternative. Prices: raposa.group/#pricing · www.gotohuman.com/pricing · orako.io/. humanlayer dropped 2026-09-03: pivoted to a coding-agent IDE; approval API no longer on their site or docs (www.humanlayer.dev/ · www.humanlayer.dev/docs).