What are Security Signals?
Security signals are IP-level indicators that reveal whether traffic is likely coming from a proxy, VPN, TOR node, data center, or known crawler—and whether it exhibits risky characteristics. By combining these signals with your application context (user behavior, device fingerprints, transaction metadata), you can build effective defenses against fraud, abuse, scraping, spam, and account takeovers.
Example Security Signals JSON
Below is a representative subset of the security object returned by the API:
application/jsonthreat_level: low
1{
2 "is_proxy": false,
3 "proxy_type": null,
4 "is_crawler": false,
5 "crawler_name": null,
6 "crawler_type": null,
7 "is_tor": false,
8 "threat_level": "low",
9 "threat_types": null,
10 "proxy_last_detected": null,
11 "proxy_level": null,
12 "vpn_service": null,
13 "anonymizer_status": null,
14 "hosting_facility": true
15}
Field-by-Field Explanation
- is_proxy: Whether the IP is associated with a proxy service. Useful for identifying obfuscated traffic paths often used in fraud and scraping.
- proxy_type: If a proxy is detected, indicates subtype (e.g., residential, datacenter, public). Different proxy types carry different risk profiles.
- is_crawler: Whether traffic likely originates from a web crawler or bot. Helps shape rate limits, serve alternate content, or block unwanted automated access.
- crawler_name: Name of the identified crawler when available (e.g., Googlebot). Enables fine-grained allow/deny controls.
- crawler_type: Crawler class (e.g., search, monitor, aggregator). Useful for analytics and policy differentiation.
- is_tor: Whether the IP is a TOR exit node. TOR often correlates with higher fraud risk and may warrant additional verification.
- threat_level: Overall risk score as a simple tier (low/medium/high) calibrated from multiple signals. Ideal for gating flows, 2FA prompts, or manual review.
- threat_types: Specific categories observed (e.g., brute_force, credential_stuffing, scraping). Allows policy responses tailored to the behavior.
- proxy_last_detected: Last time we observed proxy behavior for this IP. Helps distinguish transient vs. persistent risk.
- proxy_level: Proxy anonymity strength (transparent/anonymous/elite). Higher anonymity often implies greater evasion intent.
- vpn_service: Detected VPN brand when available. Useful for geofencing, media rights, or compliance constraints.
- anonymizer_status: General anonymizer classification, covering services beyond traditional VPNs and proxies.
- hosting_facility: True when the IP belongs to a hosting provider or data center. Data-center IPs often indicate automation, servers, or scraping infrastructure.
High-Impact Use Cases
- Account Protection: Trigger 2FA, CAPTCHA, or step-up verification for high-risk signals.
- Fraud Prevention: Combine signals with device and behavioral risk for precise rules.
- Bot & Scraper Defense: Rate-limit, honeypot, or block known crawlers and data-center IPs.
- Compliance & Licensing: Enforce geo or media rights with proxy/VPN/TOR detection.
- Zero-Trust Access: Add network risk to access decisions for admin panels and APIs.
Implementation Tips
- Layered Controls: Use security signals alongside user reputation, device fingerprints, and velocity checks.
- Progressive Friction: Apply gentle friction (e.g., CAPTCHA) before hard blocks to minimize false positives.
- Observe & Tune: Start in report-only mode, analyze outcomes, then tighten rules.
Tip: Start by logging these signals to your analytics platform and create dashboards to observe how risk varies by country, ASN, and device. Then iterate on rules.