Skip to main content
One weak signal is easy to game. Define a policy that layers checks, so visitors must pass more than one. A social account plus proof of human covers most products.

Define the layered requirements

defineGate builds the policy in your code and publishes nothing.

Add it to your app

Check on your server

Set maxAgeMs on a requirement for point-in-time checks, and store proof IDs where replay matters.
Sell access with a Listing covers publishing and commerce. Hosted verification covers the browser flow for missing checks.
Last modified on October 25, 2026