Location Attestation
Age-gate and geo laws now demand proportionate measures to verify location, plus proof that you took them. Provenance flags VPN, proxy and Tor masking, enforces per-jurisdiction policy, and seals every check into a tamper-evident audit log built for regulators.
POST /v1/provenance/check
203.0.113.24claimsus-ut
c73a5e08links to6d0e19f4
6d0e19f4links to41b8c0d2
41b8c0d2links to9f2c4b71
9f2c4b71links togenesis
Every check is sealed onto a hash chain. Edit one row and its hash stops matching what the row after it points at, which is what makes the log evidence.
Why now
Utah SB 73, the UK Online Safety Act, Australia's Social Media Minimum Age Act and a wave of EU and US age-assurance rules make the operator liable for letting masked or out-of-jurisdiction users through your gate. A naive IP geolocation check fails the moment a user turns on a VPN, and you have nothing to show you tried.
How it works
Provenance runs on the shared detection engine, then seals the outcome into evidence.
Classifies each IP as VPN, residential proxy, datacenter, Tor, hosting or clean residential, the masking a plain geo lookup misses.
Utah, UK, EU and Australia rules differ, so Provenance maps the verdict to allow, step up or block under the law that applies to the request.
Every check is sealed as sha256 of the previous hash and the payload. Edit any historical row and the whole chain breaks on verification.
Export a signed CSV for any date range showing you applied proportionate measures, complete with a chain-verification header for regulators.
A daily root hash seals the chain head, so the log is provably append-only as of each day.
One server-side call at your age or geo gate, plus an optional JS snippet to supply request context. No personal data required.
Policy actions
The jurisdiction policy turns the network-origin verdict into an enforceable decision.
Clean residential origin in an allowed jurisdiction, so the user passes through.
Masked or ambiguous origin that should be escalated to stronger verification before access.
Anonymized origin under a strict regime such as Utah, the UK or Australia, so the request is denied and the reason logged.
API
Call it server-side at your gate. The attestation id points to the sealed audit entry.
curl -X POST 'https://ipscanner.io/v1/provenance/check' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"ip":"203.0.113.24","claimed_jurisdiction":"us-ut","request_context":{"gate":"age-verification"}}'30,000 sealed checks a month on the free plan. Every call writes an attestation you can export as evidence.
Use cases
Adult content, gambling and alcohol sites under Utah SB 73, UK age-assurance duties and Australia's eSafety codes, plus social platforms facing Australia's under-16 rules.
iGaming and streaming rights that must keep out-of-territory and masked users out.
Produce defensible evidence of proportionate measures on demand for a regulator or court.
Flag VPN and proxy masking at signup before it contaminates downstream identity checks.
FAQ