New proposal

Only three typed operations are permitted. There is no free-form JSON submission — the server can never be asked to sign arbitrary Privy requests.

Swap the wallet's policy for a new set of rules.Changes what the runtime signer is allowed to do. Takes effect immediately once approved — the next runtime transaction is checked against the new rules, not the old ones.
eth_signTransactionSigns a transaction. This is the method the runtime signer uses to move funds — every condition below constrains calls to this method only.
Every checked condition is ANDed onto one ALLOW rule for eth_signTransaction — for example "value ≤ X AND chain is 1480 AND destination is Y." Use Raw JSON for DENY rules, multiple rules, or conditions this form does not model.
= 1000000000000000000 wei
[
  {
    "name": "allow-settle-under-limit",
    "method": "eth_signTransaction",
    "action": "ALLOW",
    "conditions": [
      {
        "field_source": "ethereum_transaction",
        "field": "value",
        "operator": "lte",
        "value": "1000000000000000000"
      }
    ]
  }
]