Named administrator account activated through the invitation (or Esqueceu sua senha?); verified email and authenticator completed.
Each Início step is actually Concluída, not merely sent or Aprovada.
Current membership/role and exact application/environment match the integration.
Allowed website origins are exact HTTPS origins, without paths, ports or wildcards.
Configurar a coleta web uses one of the application’s origins and the owned base domain; its generated collector is collect.<base-domain>.
Integração e saúde › Origens das páginas lists every page origin that collects (for example the apex and www), all under the collection domain, at most 10.
The automatic release/policy/admission and technical retention steps are complete in Início; Aguardando revisão is not done.
Other members use named accounts and the least role required for their work.
Issued inputs are complete and come from actual configuration/verified handoff.
DNS/ownership/certificate/health proof for collect.<your-domain> is current; preparing records is not activation.
The HMAC secret was received once in the console and stored in the backend’s secret manager; no credential request remains Aguardando você receber o segredo.
Actual client permissions and the server client’s rate limit in force (standard tier: 5 requests per second, burst 10; see limits) match the backend configuration.
Your server credential is installed with active admission and your collection domain is active; the signed API is live in production in shadow mode and Web SDK collection is deployed there (status).
Applicable security/isolation, applied technical retention/disposal and operational/recovery proofs are confirmed.
Active qualified release, policy, admission and explicit application activation are recorded before real data.
HMAC uses the 32 decoded bytes from the backend secret manager, never the 64-character hex text.
Apart from its single reveal in the console, no actual secret appears in chat, browser, email, command arguments/output, local files or repository.
The signature self-check reproduces its public synthetic vector on the backend’s Node.js (24.16.0 or later on the 24 line; on Vercel, Node.js 24.x).
Backend clock is synchronized; X-FTID-Timestamp is in seconds.
Every attempt has a new UUIDv7 request_id, timestamp and signature, including after 429/503.
Closed request serialized once with JSON.stringify; retries use the exact same bytes and token, including null.
Logical idempotency_key/external_event_id are unique, retained and never regenerated after an uncertain result.
A definitive 410 assessment-result-expired stops reconciliation and never creates a replacement historical operation.
Exact Content-Type, route and headers; no Content-Encoding, Expect, tenant/client selector or nonce alias.
Trusted identity/event time come from the backend; references are opaque, stable keyed pseudonyms with no personal data, account_ref always travels with the same subject_ref, and the HMAC key and prefix never change silently (person and account references).
New integrations send the v1.1 request, accepted in production, with one tag per call site; an integration that stays on v1 uses only LOGIN, WITHDRAWAL and TRADE, unchanged.
Tags contain no personal data and at most ten digits; a retry repeats the same tag.
Login placement follows completed server authentication/required MFA; on v1, registration/recovery do not invent journeys.
Response/Problem validated against the downloaded contract of the profile sent; expected event and tag (v1.1) or journey (v1) checked.
Null score handled as no score; returned recommendation, basis and effective versions preserved.
Your system executes its own decision/fallback; initial SHADOW does not automatically block users.
Rotation can hold two credentials, switch to the new one and retire the old one within the approved overlap.
Ordinary rotation preserves current permissions/rate and never exceeds a 24-hour overlap; changing permissions requires a separate reviewed configuration.
Support correlations retained without tokens, cookies, personal data or full payloads in logs.
Backend origin configured as https://api.fingertrackid.com, exactly as written.
Every completed login is assessed, including with event_context_token: null and for social/OAuth logins (integration guidance).
Integration failures never block the login, and configuration errors (authentication-failed, forbidden, validation-failed, invalid secret encoding) produce a clear error log or alert.
A 409 binding-conflict logs an error and alerts, and the login continues.
The integration is behind your own feature flag, enabled first for internal accounts.
Exact approved private SDK version downloaded in the dash, and its SHA-256/SHA-512 checked against the dash before installation.
One SDK copy, initialized only in browser code for the current document/account lifecycle.
Exact active collection origin in CSP connect-src; no assumed script URL or fallback collector.
No page instrumentation (Sentry, Datadog, OpenTelemetry or another fetch wrapper) adds headers to requests to the collection origin; its OPTIONS requests ask only for the SDK’s own headers and get 204 (tracing headers).
Both issued CNAMEs remain DNS-only and the ownership TXT keeps its issued value; if the verification lapsed, Verificar agora renewed it.
The page uses createActionContextHelper (recipe): prefetch() on the first intent of the assessed action’s form (focusin/pointerdown, never at page load) after applicable consent, one take() per action, and no form values/passwords/recovery codes reach the SDK; minRemainingMs stays above your backend’s margin (lifecycle).
A login that redirects to Google or another OAuth provider collects before the redirect or on a page after the callback (login with redirects); the backend logs when a login arrives without a token, and why.
Every collecting page is on one of those allowed origins; any other origin gets TRANSPORT_ERROR. Device continuity is per origin: the same browser on www and on the apex counts as two installations.
The browser sends the token with its expiresAt; the backend sends null when too little time is left, and on 400 event-context-invalid assesses once more as a new operation with null.
At submit the page waits for the context with take(), which resolves within its waitMs ceiling and never aborts the SDK; a classic form holds its navigation until then, and a single-page app keeps the SDK out of components that unmount at submit.
The SDK prepares only on pages with an assessed action, and close() follows the backend’s business response, so unclosed sessions do not hold the 1000-session limit.
The installed SDK is the version the dash offers (0.3.0 or later for the helper), and your application’s collection is set up for that version; with 0.1.1, a new collection uses a new client, closed only when no token of the old one is pending (SDK 0.1.1).
Requested feedback capabilities are actually active before action/outcome calls.
Feedback signs the exact assessment path/ID and validates its own request/receipt/Problem contract.
Reported action reflects what your product actually did; a block/score is not fraud truth.
Shadow evaluation records assessment IDs, recommendations and your own decisions, and keeps the feedback receipts’ alignment.
Outcome correction references the current leaf and appends a fact without rewriting history.
Console Acessos and Integração e saúde reflect the intended scope; unavailable, truncated or expired results stay explicit.
With account_ref sent, an account’s first login with a completed browser collection shows Primeira vez: ainda sem histórico in Contexto do acesso (without one, Sem coleta concluída do navegador), and a later login of it with browser context, within 90 days of an earlier login that also had a browser collection with a linked browser installation, shows Dispositivo novo para esta conta evaluated (Sim or Não) instead of Conta não informada pelo sistema da empresa; no 409 binding-conflict appears in your logs.
Revoked membership, crossed origin/key and unknown request state have been exercised with synthetic inputs.
A pending request can be cancelled with Cancelar a solicitação pendente; existing artifacts remain and an uncertain result is checked with Recarregar o estado on the same request.
Uso interpreted as estimates and exports as scoped/redacted/expiring data, not invoices or raw collection.