Account deletion

A person deletes their account: what goes, what stays and what you do.

account.delete() erases the signed-in person in full: sessions revoked, their records and files deleted, their plan in your app ended. This is the GDPR erasure path a person runs themselves, and it needs nothing from you in the dashboard. It cannot be undone, so put a confirmation step in front of it.

currentUser() returns authenticated: false for signed-out, suspended and erased people alike, on purpose. A moderated person's state never reaches the client, and one signed-out screen covers all three.

What happens if…

If…What happensWhat you do
A person runs account.delete()At once: their sessions end, and the records and files they own, their credits, access grants, AI calls, runs and plan are deleted, and the IP addresses on their Logs events are removed. Logs rows and support threads keep the event and lose their email addressNothing
Someone else's record was addressed to themThe record stays with its owner; only the link to the deleted person is removedNothing
They had an active paid planTheir plan and access end in your app at once, and Gemmein sets their subscription in your Stripe account to cancel at the end of the period it is paid for: never refunded, never charged again. One still owing (past due or unpaid) is cancelled at once, with no refund. Logs records itNothing
Gemmein can't cancel it in Stripe (Stripe isn't connected, the key lacks Subscriptions: Write, or Stripe refuses)Their subscription in your Stripe account is not cancelled. Errors shows Cancel <plan> for a deleted customer in Stripe with the last 6 characters of the Stripe customer id and no email address, and an alert email says the sameCancel the subscription in Stripe
Gemmein can't read the app's payments at that moment503 erase_unavailable: nothing is deleted and nothing changes in StripeShow the message and let them try again
Stripe charges them again after the deletionThe renewal grants nothing and creates no account. A Logs row, with no email address on it, says to cancel or refund it in StripeCancel the subscription in Stripe and refund the charge
They paid you through StripeTheir Stripe customer, invoices and receipts stay in your Stripe account. Gemmein deletes nothing thereIf they ask, delete the customer in Stripe too
A payment they started before the deletion arrives laterIt grants nothing and emails no oneRefund it in Stripe
The same email signs in againThey are a new customer. None of the old records, purchases or plan come backNothing
You delete them from the Customers pageThe same deletion. In Live, it asks for a code from your email firstNothing
account.delete() is called while signed out401 authentication_required, and nothing is deletedSign the person in first
Was this page helpful?

Last updated