# Shield3 Blockscience Research https://docs.shield3.com/reference/policy-1 Shield3 has a general purpose policy engine which validates transactions using both static checks and real time data. All transactions that flow through our RPC are checked against a set of default, and customer defined policies. Transactions can either be allowed, blocked, or flagged for secondary confirmation. Policies are defined as JSON documents like this ``` { "scope": { "type": "key" }, "action": { "type": "block" }, "condition": [ { "type": "target", "targetType": "contract", "targetPolicyType": "custom", "matchType": "negative", "list": [ "0x0000000000000000000000000000000000000002" ] } ] } ``` This is a trivial policy which just checks against an allowlist of addresses. But this can be extended to reference on chain data via RPC calls, value conditions, time conditions, and all can be chained together to create complex policy sets. We need to build a system that generates these JSON policy documents based on emerging threat signatures and automatically get applied to customer transactions. ![](https://hackmd.io/_uploads/SJzy1xKw3.jpg)