SyncPilledDocs

Sign-in

SyncPilled checks the tokens of your app's own sign-in provider. Settings for Firebase, Supabase, Auth0, Clerk, Sign in with Apple and any JWKS issuer.

SyncPilled has no sign-in of its own for your app's people. Your app signs them in with its provider and hands the package a closure that returns a fresh token; SyncPilled checks the token's signature, issuer, audience and expiry, and gives the device a SyncPilled token for an hour. The token's sub is the person.

ProviderWhat the console asks forIssuer and audience
Firebase AuthenticationProject idhttps://securetoken.google.com/<project>, the project id
Supabase AuthProject referencehttps://<ref>.supabase.co/auth/v1, authenticated
Auth0Domain and API identifierhttps://<domain>/, your API identifier
ClerkFrontend APIhttps://<frontend api>, any audience
Sign in with AppleBundle idhttps://appleid.apple.com, your bundle id
Anything elseIssuer, audience, JWKS URLAs you set them; an empty audience accepts any

Anonymous accounts

Firebase and Supabase can make an anonymous account on a device without anyone signing in. Such accounts sync by default. Turn Let anonymous accounts sync off in an app's settings to refuse them: their sign-in then answers 403 anonymous_not_allowed. An anonymous account lives on one device, so it can't restore anything elsewhere, and anyone can make many of them.

Deleted accounts

Once a person deletes their account in an app (DELETE /v1/apps/{app}/me, or from the console), their devices are refused with account_deleted, and so is every new sign-in for them. The id their provider gave them is never reused.

On this page