Skip to main content

Anonymous Auth

Let users explore your app without registration. Anonymous accounts can be converted to permanent accounts later.

Captcha Protection

When captcha is enabled, anonymous sign-in is automatically protected by Cloudflare Turnstile. All client SDKs handle token acquisition transparently — no code changes needed.

Enable

// edgebase.config.ts
auth: {
anonymousAuth: true,
}

Sign In Anonymously

const { user } = await client.auth().signInAnonymously();
// user.isAnonymous → true

Convert to Email Account

await client.auth.linkWithEmail({
email: 'user@example.com',
password: 'securePassword',
});
// user.isAnonymous → false (data preserved)

Convert to OAuth Account

await client.auth.linkWithOAuth('google');

Access Rules

Use auth.isAnonymous in access rules to differentiate anonymous users:

access: {
insert(auth) { return auth !== null && !auth.isAnonymous }, // Only registered users
read(auth) { return auth !== null }, // Any authenticated user (including anonymous)
}

Auto-Cleanup

Stale anonymous accounts are automatically deleted after auth.anonymousRetentionDays (default: 30 days).