[{"data":1,"prerenderedAt":248},["ShallowReactive",2],{"doc:\u002Fdocs\u002Fglossary":3},{"page":4,"toc":206,"updated":247},{"path":5,"title":6,"seoTitle":7,"description":8,"blocks":9},"\u002Fdocs\u002Fglossary","Glossary","Glossary of Fingerly Terms","Definitions of the terms used across Fingerly: visitor, identification, event, request ID, signal, group, trigger, weight, score, level and more.",[10,13,18,22,24,27,29,32,34,37,39,42,44,47,50,52,55,57,60,62,65,67,70,72,75,77,80,82,85,88,90,93,95,98,100,103,105,108,110,113,115,118,120,123,125,128,130,133,136,138,141,143,146,148,151,153,156,158,161,163,166,168,171,173,176,178,181,183,186,188,191,194,196,199,201,204],{"type":11,"text":12},"p","The terms these docs, the API and the dashboard use, and what each means precisely.",{"type":14,"level":15,"text":16,"id":17},"heading",2,"Identity","identity",{"type":14,"level":19,"text":20,"id":21},3,"Visitor","visitor",{"type":11,"text":23},"A device as Fingerly recognises it: a browser, or an app on a phone. A visitor is not a person. Several people can share one device, and one person can use several.",{"type":14,"level":19,"text":25,"id":26},"Visitor ID","visitor-id",{"type":11,"text":28},"`visitor_id`. The stable identifier Fingerly issues for a visitor: twenty letters and digits, scoped to your organization. The same device on another customer's site has a different visitor ID. See [visitor identification](\u002Fdocs\u002Fvisitor-identification).",{"type":14,"level":19,"text":30,"id":31},"Visitor confidence","visitor-confidence",{"type":11,"text":33},"`visitor_confidence`, from 0 to 100. `100` means this exact device was seen before, `85` to `99` that it was recognised after it changed, and `0` that a new visitor ID was issued.",{"type":14,"level":19,"text":35,"id":36},"New visitor","new-visitor",{"type":11,"text":38},"`visitor_is_new`. `true` the first time your organization sees a visitor.",{"type":14,"level":19,"text":40,"id":41},"Identifiable","identifiable",{"type":11,"text":43},"`identifiable`. `false` when a device gave too little to identify anyone. Such a device gets a new visitor ID each time, is still scored, raises `fingerprint_suppressed`, and costs less.",{"type":14,"level":15,"text":45,"id":46},"Requests and events","requests-and-events",{"type":14,"level":19,"text":48,"id":49},"Identification","identification",{"type":11,"text":51},"One call to an SDK's `identify()`: the SDK collects signals, the server identifies the visitor, scores the session and stores the result as an event. Production identifications are billed.",{"type":14,"level":19,"text":53,"id":54},"Request ID","request-id",{"type":11,"text":56},"`request_id`. The ID of one identification, a UUIDv7. The client sends it to your server, which reads the event with it.",{"type":14,"level":19,"text":58,"id":59},"Event","event",{"type":11,"text":61},"The stored record of an identification: the visitor, the network, the score and the signal groups that fired. Readable with a secret key for 30 days. See [reading events](\u002Fdocs\u002Freading-events).",{"type":14,"level":19,"text":63,"id":64},"Tag","tag",{"type":11,"text":66},"`tag`. Your own string for an identification, such as `login` or `checkout:8412`, echoed on the event and in webhooks. Your server compares it to bind an identification to the action it was made for.",{"type":14,"level":19,"text":68,"id":69},"State","state",{"type":11,"text":71},"`state`. `enriched` when the identification was fully processed, or `unavailable` when the network lookup could not run, in which case nothing is scored and nothing is billed.",{"type":14,"level":19,"text":73,"id":74},"Deferred report","deferred-report",{"type":11,"text":76},"Signals a browser collects after the initial answer, attached to the same request. Archived with the event; it never changes the visitor, the score or billing.",{"type":14,"level":19,"text":78,"id":79},"Verdict","verdict",{"type":11,"text":81},"A local, advisory result an SDK computes on the device, such as `automation` or `jailbreak`. Useful for the interface, never for decisions. See [client-side verdicts](\u002Fdocs\u002Fclient-verdicts).",{"type":14,"level":15,"text":83,"id":84},"Risk","risk",{"type":14,"level":19,"text":86,"id":87},"Signal","signal",{"type":11,"text":89},"One thing Fingerly detects about a session, such as `tor` or `automation`. A signal's name never changes meaning.",{"type":14,"level":19,"text":91,"id":92},"Signal group","group",{"type":11,"text":94},"Signals grouped by what they tell you, such as `automation` in the `bot` group. Stored events list their triggers by group, and the dashboard reports by group. See [signals](\u002Fdocs\u002Fsignals).",{"type":14,"level":19,"text":96,"id":97},"Trigger","trigger",{"type":11,"text":99},"A signal that fired on an identification, listed in `triggers` with its weight and confidence. In the identify response and `visitor.suspect`, `signal` is the individual signal and `group` its group; on a stored event, `signal` is the group.",{"type":14,"level":19,"text":101,"id":102},"Weight","weight",{"type":11,"text":104},"The points a signal adds to the suspect score when it fires. A whole number you can change, per platform. See [risk weights](\u002Fdocs\u002Frisk-weights).",{"type":14,"level":19,"text":106,"id":107},"Confidence","confidence",{"type":11,"text":109},"On a trigger, how strong the evidence for that signal was: `low`, `medium` or `high`. Reported alongside the weight, never multiplied into it.",{"type":14,"level":19,"text":111,"id":112},"Suspect score","suspect-score",{"type":11,"text":114},"`suspect_score`. The sum of the weights of every signal that fired. Not a percentage and not capped. Absent when a request was not scored, which is different from `0`. See [suspect score](\u002Fdocs\u002Fsuspect-score).",{"type":14,"level":19,"text":116,"id":117},"Threshold","threshold",{"type":11,"text":119},"The score at which the level becomes `high`. `30` by default.",{"type":14,"level":19,"text":121,"id":122},"Level","level",{"type":11,"text":124},"`suspect_level`. The score compared with the threshold: `low` below half of it, `medium` from half, `high` from the threshold.",{"type":14,"level":19,"text":126,"id":127},"Profile","profile",{"type":11,"text":129},"A set of weights, a threshold and weighting modes for one platform. A key's own profile is used if it has one, otherwise your organization's, otherwise the defaults.",{"type":14,"level":15,"text":131,"id":132},"Keys and account","keys-and-account",{"type":14,"level":19,"text":134,"id":135},"Organization","organization",{"type":11,"text":137},"Your account on Fingerly: its members, keys, data, balance and region.",{"type":14,"level":19,"text":139,"id":140},"Environment","environment",{"type":11,"text":142},"`development`, `staging` or `production`. Every key belongs to one. Only production is billed. Each environment's events, dashboards and webhooks are kept apart, while visitor IDs are shared across them. Webhooks call production `live` and the other two `test`.",{"type":14,"level":19,"text":144,"id":145},"Region","region",{"type":11,"text":147},"Where an organization's visitor data is processed and stored, such as `us`. Chosen once and written into every key. See [regions](\u002Fdocs\u002Fregions).",{"type":14,"level":19,"text":149,"id":150},"Public key","public-key",{"type":11,"text":152},"`fly_pk_…`. Used by client SDKs to identify visitors. Accepted from browsers only on its allowed origins.",{"type":14,"level":19,"text":154,"id":155},"Secret key","secret-key",{"type":11,"text":157},"`fly_sk_…`. Used by your backend to read events. Refused from browsers.",{"type":14,"level":19,"text":159,"id":160},"Management key","management-key",{"type":11,"text":162},"`fly_mk_…`. Used by your automation to manage keys, webhook endpoints and risk weights through the [management API](\u002Freference\u002Fmanagement\u002Foverview), with the permissions of the `admin` or `developer` role.",{"type":14,"level":19,"text":164,"id":165},"Proxy key","proxy-key",{"type":11,"text":167},"`fly_px_…`. Lets a first-party proxy forward identify requests with the visitor's real address. See [proxy integrations](\u002Fdocs\u002Fproxy-integrations).",{"type":14,"level":19,"text":169,"id":170},"Allowed origin","allowed-origin",{"type":11,"text":172},"A scheme, host and optional port a public key is accepted from in browsers, such as `https:\u002F\u002Fshop.example.com`. Matched exactly.",{"type":14,"level":19,"text":174,"id":175},"Idempotency key","idempotency-key",{"type":11,"text":177},"The `Idempotency-Key` header. Sent with every retry of one identify request so it is answered and charged once. See [idempotency](\u002Freference\u002Fidempotency).",{"type":14,"level":19,"text":179,"id":180},"Consent state","consent-state",{"type":11,"text":182},"`granted`, `pending` or `denied`. Until it is `granted`, an SDK collects and sends nothing. See [privacy and consent](\u002Fdocs\u002Fprivacy-and-consent#consent).",{"type":14,"level":19,"text":184,"id":185},"Micros","micros",{"type":11,"text":187},"Millionths of a US dollar, the unit of `Fingerly-Balance-Micros` and billing webhooks. `3000` micros is $0.003.",{"type":14,"level":15,"text":189,"id":190},"Webhooks","webhooks",{"type":14,"level":19,"text":192,"id":193},"Webhook endpoint","webhook-endpoint",{"type":11,"text":195},"An HTTPS URL on your server that Fingerly sends events to, listening to `live` or `test` traffic. See [webhooks](\u002Fdocs\u002Fwebhooks).",{"type":14,"level":19,"text":197,"id":198},"Envelope","envelope",{"type":11,"text":200},"The JSON shape every webhook shares: `id`, `type`, `version`, `organization_id`, `environment`, `created_at` and `data`.",{"type":14,"level":19,"text":202,"id":203},"Signing secret","signing-secret",{"type":11,"text":205},"`whsec_…`. The per-endpoint secret each delivery is signed with. Verify the signature before you trust a delivery.",[207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246],{"id":17,"text":16,"level":15},{"id":21,"text":20,"level":19},{"id":26,"text":25,"level":19},{"id":31,"text":30,"level":19},{"id":36,"text":35,"level":19},{"id":41,"text":40,"level":19},{"id":46,"text":45,"level":15},{"id":49,"text":48,"level":19},{"id":54,"text":53,"level":19},{"id":59,"text":58,"level":19},{"id":64,"text":63,"level":19},{"id":69,"text":68,"level":19},{"id":74,"text":73,"level":19},{"id":79,"text":78,"level":19},{"id":84,"text":83,"level":15},{"id":87,"text":86,"level":19},{"id":92,"text":91,"level":19},{"id":97,"text":96,"level":19},{"id":102,"text":101,"level":19},{"id":107,"text":106,"level":19},{"id":112,"text":111,"level":19},{"id":117,"text":116,"level":19},{"id":122,"text":121,"level":19},{"id":127,"text":126,"level":19},{"id":132,"text":131,"level":15},{"id":135,"text":134,"level":19},{"id":140,"text":139,"level":19},{"id":145,"text":144,"level":19},{"id":150,"text":149,"level":19},{"id":155,"text":154,"level":19},{"id":160,"text":159,"level":19},{"id":165,"text":164,"level":19},{"id":170,"text":169,"level":19},{"id":175,"text":174,"level":19},{"id":180,"text":179,"level":19},{"id":185,"text":184,"level":19},{"id":190,"text":189,"level":15},{"id":193,"text":192,"level":19},{"id":198,"text":197,"level":19},{"id":203,"text":202,"level":19},"2026-09-17T16:58:12.000Z",1789667797516]