An access rule combines one or more conditions with a policy. When a verification request matches every condition in a rule, the policy is applied instead of your site's default challenge. Rules are evaluated by specificity — a more precisely targeted rule always wins over a broader one — so you can layer broad defaults with surgical overrides.
Each rule has an expiry, which makes Access Control just as useful for short, sharp responses to live attacks as it is for long-running policy.
Conditions describe who the rule applies to. You can mix and match any of the fields below in a single rule.
| Field | What it matches | Example use |
|---|
| IP address | A single IPv4 address | Block a specific abuser |
| IP range (CIDR) | A subnet such as 192.168.1.0/24 | Restrict a VPN gateway or corporate network |
| ASN | An Autonomous System Number, i.e. a hosting provider, ISP or VPN network | Throttle traffic from a noisy cloud host without listing every IP it owns |
| Country | Standard two-letter country code | Apply tighter rules to regions seeing high abuse |
| User Agent | The browser or client string sent by the request | Block headless browsers and scripted clients |
| JA4 fingerprint | A TLS-level fingerprint of the client | Catch automation tooling that varies its User Agent but not its TLS stack |
| User ID | An identifier you pass through your integration | Apply per-user policies for known accounts |
When a rule matches, you choose how to respond:
- Block — fail the verification outright. Use this for known-bad sources.
- Require an image or puzzle challenge — present an image or puzzle CAPTCHA with a configurable number of rounds. Useful for suspicious-but-not-confirmed traffic.
- Require Proof of Work — issue a computational challenge at a difficulty you choose. Slows automation down without asking the user to click anything.
Because every rule carries an expiry, Access Control fits two very different jobs:
- Live incident response. When an attack starts, drop in a short-lived rule (minutes or hours) targeting the offending IP range, ASN or fingerprint. The rule lapses on its own once the wave is over — no cleanup, no risk of forgotten overrides.
- Standing policy. Long-running rules let you encode business decisions: stricter checks for high-risk regions, custom challenges for partner networks, allow-by-default for trusted user IDs.
Full capability Partial / caveat Not available
| Capability | Prosopo Access Control | Traditional WAF rules | reCAPTCHA / hCaptcha |
|---|
| Block by ASN / hosting network | ● | ● Limited | ● |
|---|
| Block by TLS (JA4) fingerprint | ● | ● Rarely | ● |
|---|
| Per-rule custom challenge (image, puzzle, PoW difficulty) | ● | ● | ● |
|---|
| Rule expiry built in | ● | ● Manual cleanup | N/A |
|---|
| GDPR-compliant data handling | ● | ● Varies | ● |
|---|
| No DNS changes required | ● | ● DNS-routed | ● |
|---|
Detailed field formats, policy options and rule-matching behaviour are documented in the Access Control Rules reference.