Skip to content

Profile — Integrations ▸ Extensions

The Profile ▸ Integrations ▸ Extensions page is the user-facing pairing surface for the Athenty Snap browser extension. Snap detects identity-verification requests on any web page and lets users submit them without leaving the tab — pairing this page authorizes Snap to call the Athenty API as the signed-in user.

Profile Extensions — Acme Financial Group demo tenant

Standard PageHeader with the title Browser Extension and a one-line description. Sits at the top of the right-hand content panel under the Profile left-nav.

A static informational banner explaining the install step (browser web store) with an inline link to the Snap getting-started doc on athenty.com. The banner is always visible — the user might not have installed Snap yet.

A single button that emits a 6-digit pairing code on click. While the code is live, a card appears above the button showing:

  • The 6 digits in fixed-width tiles
  • A countdown bar for the 5-minute expiry
  • An expired state when the timer reaches zero
  • A Dismiss action

Below the button, a list of every browser currently paired with the user’s account:

  • Pairing name (auto-derived from the user-agent)
  • Who paired it (the user themselves, in nearly every case)
  • Last-used timestamp
  • A small Expired pill if the pairing has aged out
  • A revoke icon button (top-right of each row)

Revoking opens a confirm dialog — pairings are not soft-deleted, so the revoke is destructive.

The end-to-end flow:

  1. User installs Snap from the browser web store
  2. User opens Snap and clicks Pair
  3. Snap displays a 6-digit input
  4. User opens this page and clicks Pair Extension
  5. Server emits a fresh 6-digit code with a 5-minute TTL
  6. User types the code into Snap within the TTL
  7. Snap calls the validation API; on success, a new token is minted and the pairing appears under Paired here

The code is single-use and bound to the user’s session — a teammate cannot generate a code on your behalf.

  • Length: 6 digits
  • TTL: 300 seconds (5 minutes)
  • Single-use: consumed on first valid submission
  • Auto-expired: replaced if the user clicks Pair Extension again while one is live

Each pairing has its own row in the paired list with this lifecycle:

created ─▶ active ─▶ revoked
↘ expired (after inactivity window)

The inactivity window defaults to 90 days. Activity is any API call Snap makes on the user’s behalf — not just opening Snap.

RolePairRevoke ownRevoke others
Owner / Admin✓ (via Settings ▸ Compliance)
Member
Viewer

Pairings are user-scoped. Owners and admins can see and revoke other users’ pairings only via the admin surface; this Profile page shows just the user’s own.

Every pairing emits audit events:

  • extension.code_generated
  • extension.paired
  • extension.revoked
  • extension.expired

These events surface in Settings ▸ Audit Log for admins and in the user’s own Profile ▸ Security ▸ Activity tab.

SymptomMost likely causeFix
Snap rejects the codeCode already expiredClick Pair Extension again for a fresh code
Pairing missing from listNetwork race after Snap submittedRefresh the page
Code never typedUser dismissed the cardClick Pair Extension again
Snap calls fail post-pairUser signed out of AthentySign back in; pairings persist across logouts
Inactivity-expired pairingNo Snap activity in 90 daysRe-pair to refresh the token