Account deletion

Delete your GetMySlot account

Last reviewed against the repository on 12 October 2026. This page describes the implemented flow. It does not claim that a production deletion has been tested in this documentation pass.

Three different states. Deleting from the signed-in app is an automated attempt to remove the account. Sending a web email is only a request until an operator completes it. Some booking times may remain after a successful deletion, without your name or phone.

If you can open the app

Open GetMySlot, go to Profile, then tap Delete Account.

The in-app sheet warns that deletion is permanent, that booking times are kept so venue slots stay accurate, that name and phone are removed from those records, and that turf listings you own are not deleted.

After you confirm, the app calls a Supabase Edge Function named delete-account. That function:

  1. Requires a signed-in user. It reads the user from the JWT. It does not accept a user id from the browser or the request body.
  2. Refuses admin accounts.
  3. Refuses accounts that still own a turf listing.
  4. Clears guest name and phone on that user's bookings, then detaches the user id from those rows when the database allows it.
  5. Deletes that user's roles, turf memberships, staff invitations they created, owner applications, and profile.
  6. Deletes the Auth user. The app then clears the local session and returns to the signed-out screen.

If this account still owns a turf listing, deletion is refused. The listing must be closed with GetMySlot support first. Admin accounts cannot be deleted from the app. Owner Settings does not currently include a separate Delete Account control; players use Profile. An owner who can still open the player Profile will receive the turf-ownership error if a listing remains.

Errors from the function are shown on the confirmation sheet (network problems, sign-in required again, ownership or admin blocks, or a generic failure). A 409 on booking detach means the account was not fully removed because booking history could not be detached.

Not production-tested in this website pass. The flow is implemented in the mobile app and Edge Function. This task did not call the live function or delete any real account. Treat in-app deletion as implemented in code, not as certified production behaviour, until you run it against a non-production user.

If you cannot open the app

Google Play requires a way to request deletion without reinstalling the app. GetMySlot does not expose the deletion Edge Function to this website, because that function needs a signed-in user token and a server secret.

Use the form below. It opens your email app with a message to getmyslott@gmail.com. Sending that email is a deletion request. It is not instant deletion. An operator still has to find the account from the phone number you provide and complete removal using internal tools.

You can also write directly to getmyslott@gmail.com with the phone number you used to sign in and the words “delete my GetMySlot account”.

What is removed when deletion succeeds

What may be kept

Booking rows are kept so venue occupancy stays accurate. The implementation clears guest_name and guest_phone, then detaches user_id when the column allows it. Amounts, times, turf, and status remain on the row. No maximum retention period is defined in the repository.

Turf listings, photos, coordinates, and related venue records are not cascade-deleted when an account is deleted. Accounts that still own a turf cannot complete in-app deletion.

The deletion function does not send deletion requests to MSG91, Cloudinary, Sentry, Google Maps, or other processors. Whether those vendors retain copies is not verified in this repository.

Staff invitation rows that store a phone number but were not invited_by the deleted user are not removed by the current function. Crash reports and session replays already sent to Sentry are not deleted by this flow.

Partial failures stop the function and return an error. Some earlier steps (for example clearing booking guest fields) may already have run. The function does not roll those steps back.

What this page does not do

Related: GetMySlot Privacy Policy.