Explicit user consent
Every verification has its own clear confirmation. No hidden handshakes and no background start.
Security & privacy
Technical certainty should not require permanent data exposure. Metric ID keeps verification narrow, consent-driven, and under user control.
Metric ID does not issue a tracking credential until the user understands the request and provides an authenticated, time-stamped consent action.
Read the consent flowEvery verification has its own clear confirmation. No hidden handshakes and no background start.
Tracking credentials expire with the verification window and cannot become permanent access.
Universal links display request information. Opening one never begins location tracking.
Declining sets the request to rejected, clears tracking credentials, and returns no raw token.
Credential architecture
Browser sessions, user bearer tokens, organization API keys, and verification tracking tokens each have a distinct purpose.
Signed cookies resume server-side sessions for browser interfaces only.
Raw tokens are shown once; only SHA-256 digests are persisted.
Live and test keys use separate environments and the `X-API-KEY` header.
Each token is bound to one verification and expires with its tracking window.
Defense in depth
Sensitive bearer and tracking tokens are persisted only as one-way SHA-256 digests.
A tracking token is valid for one verification, preventing cross-request correlation.
Browser cookies cannot authorize mobile APIs, and organization keys are never user tokens.
Verification-scoped event identifiers make device retries safe and predictable.
Portal magic links expire after 15 minutes; invitations expire after seven days and are single-use.
Organization portal records are always loaded through the current organization’s scope.
Users can say no
Declining a pending request prevents tracking from starting. Logout revokes only the bearer token used for that request, preserving control without creating unexpected global side effects.
Reliable by design
Stable response envelopes, versioned endpoints, rate-limited authentication, and explicit HTTP status codes make security behavior easier to integrate and audit.
Explore developer controlsBuild trust by design
Build a verification workflow where clear boundaries are a feature, not an afterthought.