Legal · Privacy · Terms

Security

Last updated 2026-08-24 · what is actually implemented, not aspirations

Raposa Aval exists to make high-stakes actions provable. That only works if the service itself is hard to tamper with. This page states what is in place today; if something is not listed here, assume it is not implemented.

Credentials

Isolation between customers

Each approval records the key that created it. A client key can read only its own approvals; a request for another customer's approval returns 404, which does not reveal whether that identifier exists. Deciding an approval is restricted to operator keys.

Audit chain

Every event — creation, decision, expiry, webhook attempt, key issuance — is appended to a hash chain: sha256(prev_hash + timestamp + event + approval_id + actor + payload). Changing, inserting or deleting an entry breaks verification from that point onward, and verification can be run on demand. Secrets and API keys never enter the payload.

Outbound callbacks

Webhook bodies are signed with HMAC-SHA256 using the customer's own secret. Target URLs must be public HTTPS: addresses that resolve to loopback, private, link-local or reserved ranges are refused when the approval is created, and redirects are not followed. Delivery is retried three times after the first attempt and every attempt is audited.

Network and hosting

Availability and recovery

Testing

The service ships with an automated test suite covering the approval lifecycle, webhook signing and retries, customer isolation, the public form, audit export and listing behaviour. The isolation tests were verified by reintroducing the flaw they guard against and confirming they fail.

Reporting a problem

Write to abuse@dcescrypt.com. Tell us what you found and how to reproduce it. We answer within one business day, we will not pursue you legally for a good-faith report, and we will credit you if you want to be credited.