> ## Documentation Index
> Fetch the complete documentation index at: https://docs.verifyyou.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Returning users

> How a verified human is recognized the next time they come through.

A verified human doesn't redo work they've already done. How they're recognized depends on what they verified as.

## What recognition hangs on

| Verified as | Recognized by                                                                                                | How long it lasts                                             |
| ----------- | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------- |
| **Member**  | Their verified phone or email, plus their face (optionally your [external id](/v3/advanced/account-linking)) | Portable: survives new devices, new browsers, cleared cookies |
| **Guest**   | The device ID in their browser                                                                               | Until the device ID is cleared or the guest record rolls off  |

## The return trip, in practice

* **Same browser, already passed:** the flow completes almost immediately. This is the **skip window** on your verification's configuration; within it, a prior pass counts and the person skips the face check entirely. You still get a fresh token to confirm.
* **Member on a new device:** the new device has no history, so they start as a fresh guest. At the face check their face is recognized as belonging to a member, and the flow asks them to sign in with their number or email. One code later they've re-asserted their claim and they're through.
* **Guest on a new device:** there's no claim to re-assert. Their face matching their old guest record reads as a collision, and the check comes back denied until that record clears. This is the main reason to make anyone who returns a member.

## Designing for the return trip

* **Re-run the same call.** Send returning users through the same [`vycheck()`](/v3/sdk/vycheck) or [`initialize`](/v3/api/initialize) entry point. A recognized human passes through quickly instead of starting over.
* **Bind an identity if they'll come back.** Make repeat visitors members by attaching a phone, email, or [external id](/v3/advanced/account-linking), or by using the collection identity mode. It's the difference between "recognized anywhere" and "recognized on one browser".
* **Confirm server-side every time.** Recognition still produces a fresh token each trip. Always [confirm it](/v3/api/confirmations) on your backend before granting access.

<Note>
  Guests intentionally re-verify more often than members. See
  [Members vs guests](/v3/concepts/members-vs-guests) for why, and when to
  prefer one over the other.
</Note>
