Retrieve the assessment

The browser only ever holds an opaque id. Your backend exchanges it for the authoritative verdict using your secret key, so a client can never forge the result.

The call

GET /api/prism/assessment/<id> with header X-Farox-Secret: <fsk_ key>. Returns 404 for an unknown id and 401 for a bad key.

 node
const a = await fetch(
  "https://api.farox.io/api/prism/assessment/" + id,
  { headers: { "X-Farox-Secret": process.env.FAROX_SECRET } })
  .then(r => r.json())

Verdict fields

FieldTypeMeaning
ipstringthe client's source IP (taken server-side, not client-reported)
anonymizedboolVPN, proxy, Tor, datacenter or proxy-suspect
network_typestringRESIDENTIAL / MOBILE / DATACENTER / VPN / PROXY / TOR
is_vpn / is_proxy / is_tor / is_datacenterboolspecific network flags
is_proxy_suspectboolbehavioral / ASN-reputation proxy suspicion
providerstringnamed VPN/proxy service when known
automationboolheadless / webdriver / bot browser
risk_score0-100combined risk
webrtc_leakstringreal IP leaked via WebRTC, if any
clientobjectbrowser fingerprint (webgl, cpu, geometry, ...)
signalsstring[]the explainable evidence behind the verdict

The verdict is the same object Prism returned to the browser, re-fetched authoritatively. Decision logic (block/allow) belongs on your side, or use Policies.