Account Verification

Account verification

Some features are gated behind verification — the platform needs to know an account is real and accountable before it unlocks them. Verification is account-scoped (it belongs to the workspace/tenant, not an individual user) and has three independent checks. You manage them in the dashboard under Account settings → Account verification (/account/settings).

Independent axes. A given feature may require any one of the three. When an action is blocked with a 403, the message names exactly which check is missing — add a card, verify your email, or complete identity verification.

The three checks

Check Scope How to complete it
Email Per user Click the link in the verification email. Resend it from User settings.
Payment method Account Add a valid card on the Billing page (/account/billing).
Identity (KYC) Account Upload the documents our team requests, then wait for review (below).

Email verification

Email is confirmed per user — each member verifies their own address by clicking the link we email at sign-up. If you never received it (or changed your address), open User settings and resend the verification email. On the account verification panel, the Email check reflects the signed-in user's state.

Payment method

This check passes once the account has a valid, un-expired card on file. Add or update it on the Billing page; the check flips to On file automatically once the card is confirmed. It is an account property — every member of the account shares the same billing readiness.

Identity verification (KYC)

Identity verification is document-driven and human-reviewed. Our team decides which documents your account must submit, you upload them, and we review each one before setting the account's verdict. The account's KYC status moves through four states:

Status Meaning
noneNot started — no review requested yet.
pendingIn review — documents requested and/or submitted, awaiting our decision.
verifiedApproved — identity-gated features are unlocked.
rejectedNot approved — see the per-document notes and re-submit.

How it works

  1. We request documents. Our team adds the documents your account needs from a built-in set — Government ID, Proof of address, Business registration, or Other (with a custom label). Identity verification is admin-initiated: until documents are requested, nothing is required of you.
  2. You upload each document. On the verification panel, every requested document shows an Upload button (PDF or image, up to 8 MB). Uploaded files are encrypted at rest and shared only with our verification team — they are never shown to other members or returned by the API.
  3. We review. Each document is marked Under review, then Approved or Rejected. A rejected document shows the reason and can be re-uploaded.
  4. We set the verdict. Once your documents check out, the account is marked verified and identity-gated features unlock.
You'll be notified. When documents are requested, or when one is approved or rejected, the account owner gets an email and an in-app alert on the verification page telling them what to do next. Each requested document also shows a short description and the kinds of files we accept, plus when it was uploaded and reviewed.
Where. Uploading happens in the dashboard (Account settings → Account verification), not through the public API. The API exposes read-only status — see Verification Status.

What verification unlocks

Verification checks act as gates on certain features on some plans — for example dedicated ports, custom domains, and UDP tunnels. A plan defines which check (payment method, identity, or both) a feature requires. If you hit a 403 on one of these, the response names the missing check — complete it on the verification panel and retry. Note this is separate from plan entitlements: a feature can be blocked because your plan doesn't include it, or because your account isn't verified — the error tells you which.

Iris