Overview
π§ Auth Security XEβ
Auth Security XE (the checkaccessxe flow) extends Auth Security
with a frontend collector. On top of the serverβside event that classic Auth
Security already sends, XE adds a small JavaScript snippet on your login page
that captures device and behavioral signals into an opaque gkas_solution token.
That token is sent to GuardianKey together with the login event, producing a
richer, more accurate realβtime risk decision (ACCEPT / NOTIFY / BLOCK)
and a stronger device identity.
It is the web counterpart of the Mobile SDK:
the browser runs the JavaScript collector, while native apps run the SDK β both
feed the same checkaccessxe backend call.
π Auth Security vs. Auth Security XEβ
| Auth Security (classic) | Auth Security XE | |
|---|---|---|
| Signal source | Backend event only (IP, user, result, UserβAgentβ¦) | Backend event + frontend collector (gkas_solution) |
| Frontend change | None | Add a <script> and one init call on the login page |
| Backend call | checkaccess(...) | checkaccessxe(...) |
| Device identity | Contextual only | Stronger, deviceβbound identity signals |
| Decision | ACCEPT / NOTIFY / BLOCK | ACCEPT / NOTIFY / BLOCK (same response model) |
XE is additive: you keep the same risk model, console and response handling, and gain the frontend signals. If you already integrate classic Auth Security, moving to XE is mostly adding the collector and switching the backend call.
π§© What you integrateβ
| Piece | Who provides it | Role |
|---|---|---|
Collector script (gkas-setup-latest.js) | GuardianKey (hosted) | Runs on your login page; builds the gkas_solution token on submit. |
| Your login page | You | Loads the script, builds gkas_config, calls gkas_init(...). |
| Your backend | You | Generates the perβload nonce, validates it, calls checkaccessxe with your GuardianKey credentials. |
π GuardianKey credentials (key/iv/agentid/β¦) live only on your backend. The browser never holds them. The page only receives a shortβlived
gkas_config(url/salt/once/time) from your own backend.
π Flowβ
ββββββββββββββββ 1. GET login page ββββββββββββββββ
β Browser β βββββββββββββββββββββββββββββββββΆ β Your backend β generate nonce (once),
β (login page) β βββββββββββββββββββββββββββββββββ β β build gkas_config
ββββββββββββββββ HTML + gkas_config {url,salt, ββββββββββββββββ
β once,time}
β 2. gkas_init(config, form, "username")
β collector hooks the form; on submit builds gkas_solution
βΌ
ββββββββββββββββ 3. POST (username, password, ββββββββββββββββ checkaccessxe ββββββββββββββ
β Browser β βββββ gkas_solution) ββββββββββββΆ β Your backend β βββββββββββββββββΆ β GuardianKeyβ
β β βββββββββββββββββββββββββββββββββ β β βββββββββββββββββ β XE β
ββββββββββββββββ page reacts to the decision ββββββββββββββββ risk decision ββββββββββββββ
β
ββ ACCEPT β allow login
ββ NOTIFY β allow + extra verification
ββ BLOCK β deny access
- Page load (GET) β your backend generates a oneβtime nonce (
once), stores it in the session, and embeds agkas_config(url,salt,once,time) in the page. - Collector init β
gkas_init(gkas_config, form, "username")hooks your login form; when the user submits, it builds thegkas_solutionand injects it into the form as a hidden field. - Submit (POST) β the form posts username, password and
gkas_solution. Your backend validates the nonce, sets the attempt flag, and callscheckaccessxe, forwarding thegkas_solutionunchanged. It then acts on the decision.
π¦ Collected signalsβ
The collector gathers a range of device and behavioral information (such as
device/identity signals, interaction behavior, environment, geolocation, among
others) and packs it into the opaque gkas_solution token.
What matters for integration:
- Bestβeffort. Missing browser capabilities or denied permissions (e.g. geolocation) never break the flow β the corresponding signal is simply omitted.
- No passwords, no typed content. GuardianKey does not collect credentials.
- No backend schema work. Your backend forwards the token asβis; the reference
guardiankey.class.phpalready wraps it forcheckaccessxe.
βοΈ Next stepsβ
- Web integration β stepβbyβstep on the login page.
- Backend & API reference β
checkaccessxe,gkas_config, response. - Mobile SDK β the same flow for native Android/iOS apps.