Glossary¶
The terms the platform guides use, in alphabetical order. How scoring works puts the scoring terms together.
Action¶
One gesture the SDK recognizes in the raw input: a tap, a drag, a scroll, a run of key presses. The score is computed from actions, not from individual touch or key events, and only from the most recent 64.
Ad session¶
DEA's record of one ad, not to be confused with the session. It is opened by the proof
your app sends when the ad appears on screen; DEA answers with its id, and the click and the end of
that ad are filed under the same id. On the Web the SDK manages it for you (ads.session_opened());
on Flutter, Android and iOS your app sends the three proofs itself. See each platform's Ads page.
Attestation¶
Registering the device key with DEA, through attest(). On Android and iOS the
registration carries a token from Google Play Integrity or Apple App Attest when the device can
produce one; browsers have no such token. A registration expires, after about an hour, and is
registered again: automatically on Android, iOS and Flutter, on the next attest() call on the Web.
Its result is a verdict.
Classification¶
What getClassification() returns: the result (human, bot, undetermined or
insufficient), together with
the score, the number of scored actions,
the thresholds and the model version. It is read on the device and makes no
request.
Device key¶
A signing key the SDK creates on the device the first time it needs one, and that never leaves it: in the Android Keystore, in the iOS Keychain or Secure Enclave, or as a non-extractable key in the browser. Attestation registers its public half with DEA, and proofs are signed with it.
Model¶
The file the scoring engine uses to turn actions into a score. It also carries
the thresholds and the number of actions a score needs. Each package embeds one, and
the SDK can replace it with a newer one DEA publishes. modelVersion names the one in use.
Proof¶
A short message the SDK signs with the device key and sends to DEA, or hands to your
app: your appId, the current score, the number of scored actions, the model version, the session
id, the event it is for and the tier. DEA checks the signature against the registered key.
A proof is valid for 90 seconds.
Scored actions¶
The actions field of a classification: how many actions the score is computed from.
It grows as the user interacts, up to 64.
Scoring engine¶
The part of the SDK that turns captured input into actions and actions into a score, on the device. Error messages and logs call it the core. When it cannot load, the SDK keeps running without a score: see each platform's Troubleshooting page.
Session¶
The span the score describes: it starts at init and ends when you reset it or dispose of the
SDK, and on phones and tablets also when the app returns after more than five minutes in the
background. Not to be confused with an ad session.
Sufficient¶
Whether a score has enough actions behind it to mean something. The models built into
the SDK ask for 8 actions on phones and tablets, and 20 on desktop browsers, coming from at least
two kinds of input (pointer, scroll, keyboard) with at least three actions each. A model DEA
publishes later can ask for a different number. Until the score is sufficient, the classification is
insufficient with no score on Flutter, Android, iOS and React Native (undetermined on the Web),
and no proof is signed.
Threshold¶
A score the model sets as a bar. Below the bot threshold is bot; at or above the human
threshold is human; in between is undetermined. A model with no human threshold has one bar:
at or above the bot threshold is human. See
How scoring works.
Tier¶
The trust level a proof claims for the key that signed it: B for a key on a phone or
tablet whose registration carried a token from Google Play Integrity or Apple App Attest, C for a
key on a phone or tablet without one, and W for a browser key.
Verdict¶
The result of attestation: passed, failed or unsupported. It is not the
classification: these guides call the human / bot / undetermined / insufficient answer the
classification.