Settings
Managing your account settings — skin equipping, privacy, and account deletion.
TL;DR - Equip skins from the Settings page (moved from the Skins gallery) - Toggle profile privacy to control who can see your public profile - Request account deletion with a 24-hour grace period to cancel; permanent removal requires a manual ops process
The Settings page at /settings is your central hub for managing your FangDash account.
Skin Picker
Equipping skins has moved from the Skins gallery to the Settings page. Browse your unlocked skins and select one to equip. Locked skins display their unlock conditions.
Visit the Skins gallery to preview all available skins, then head to Settings to equip them.
Privacy Toggle
Control whether other players can view your public profile.
| Setting | Behavior |
|---|---|
| Public | Your profile is visible via /profile/[id] and linked from leaderboards |
| Private | Your profile page returns a "private" notice; leaderboard hides your link |
The toggle is labeled "Allow others to view my profile" and defaults to public.
Account Deletion
Account deletion is scheduled after the grace period. Permanent data removal is handled by an ops process — see below. All your scores, achievements, skins, and race history will be removed once that process runs.
FangDash supports GDPR-compliant account deletion with a safety net:
During the grace period, you can return to Settings and click Cancel Deletion to restore your account
After 24 hours, the account is marked for permanent removal. An ops process handles the actual data purge — until then, the account remains in a soft-deleted state.
Permanent data removal is not yet automated. After the grace period expires, an operator must run the hard-delete process manually. A scheduled Cloudflare Worker cron is planned for a future release to automate this step.
API Endpoints
The account management endpoints live in the account tRPC router:
| Endpoint | Type | Description |
|---|---|---|
getAccountStatus | Query | Returns current deletion status and timestamps |
requestDeletion | Mutation | Schedules the account for deletion after a 24-hour grace period |
cancelDeletion | Mutation | Cancels a pending deletion request |
getPrivacy | Query | Returns current privacy setting |
updatePrivacy | Mutation | Toggles profile visibility on or off |
Database Schema
Two new fields on the user table support account deletion:
deletionRequestedAt— timestamp when the user requested deletiondeletionScheduledFor— timestamp after which the account is eligible for permanent removal (24 hours after request)
The player table has a new profilePublic boolean field for the privacy toggle.