You must trust
The iExec Nox TEE
It computes on plaintext inside the enclave. A broken TEE reveals everything.
The Nox gateway
It performs decryptions. It cannot forge a proof, but it can decline to serve one.
Your Safe's owners
The threshold is your security. shrud adds no protection against your own signers.
Uniswap v3 and Aave v3
Remainders settle through them. shrud re-checks their code hashes on every use and cannot make them correct.
The reference price
A thirty minute TWAP with a tick bound. Moving it costs sustained price impact across the window, which is a cost rather than an impossibility.
shrud does not protect against
Timing analysis
Submission times are public. Submitting alone, immediately before a seal, is identifying whatever the protocol encrypts.
A Safe with one owner
The privacy floor counts participants, not signatures.
Off-chain correlation
If you announce your trade, the protocol cannot unannounce it.
A compromised owner key
Nothing here helps.
The five public states, and the six that must never exist
Processed carries every outcome an order can have. Each state below is a free oracle, and a pull request adding any of them should be rejected on sight.
Rejected
That something went wrong, and roughly what
InsufficientBalance
Turns repeated oversized orders into a binary search over a confidential balance
Buy or Sell
Exactly what the product exists to hide
Crossed
Which orders found counterparties
LimitFailed
The relationship between a private limit and a public price
Excluded
Who did not make the cut, which with a small set identifies who did
Not audited. Testnet only.
This software has not been through an external security review. It is deployed on Ethereum Sepolia and must not be used on a network holding real value.
Private advisory, not a public issue
Open a private security advisory on the repository, under Security then Report a vulnerability. Please do not open a public issue for anything affecting funds, privacy or access control. There is no bug bounty, and saying so is better than implying one.