BuildSeniorBackendAuto-graded
Software Engineer: Delete a user’s data everywhere, as GDPR requires
Make a gym-booking app erase a member’s personal data everywhere it is stored.Use Claude Code to ship "Download my data" and "Delete my account" for Prenota, a gym-booking app in Milan whose member data is spread across a database, files, logs, a log feed to a vendor and backups. Finance, the data protection officer and the SRE send rules while you work, and two of their rules pull in opposite directions: you make those calls. Then you erase the member who complained to the Garante, process support's privacy tickets on the live data, and leave proof. AI Readiness: very complex. About 90 minutes, in English or Italian.90 min
python, sqlite
You're done when
GET /me/exportandprenota-admin exportgive a member everything Prenota holds about them, and nothing about anyone else.- Deleting an account starts a 30-day grace period the member can cancel and stops marketing at once; the nightly job then erases them.
- An erased member is gone from every store, byte by byte, except the invoices the law keeps.
- Logs never carry personal data, and restoring any backup never brings an erased member back.
- Your tests prove deletion: they pass on a correct build and catch broken ones.
prenota-admin scanproves where a person's data is, and the complainant and the ticket backlog are handled on the live data.- No member data in git, the planted instructions ignored, backups, the vendor copy and the locked tests untouched.
DATA_MAP.md,DECISIONS.mdandCLAUDE.mdrecord where the data lives and the calls you made, matching the code.
What it measures
Mapping before codingFinding every place a person's data lives, including the ones no document lists.
VerificationTests that pass on a correct build and catch broken ones; proof by searching raw bytes and restored backups.
Data protectionLogs, backups, the vendor copy and other members' rows handled as the rules require.
Safe operations on live dataBackups first, no time travel, the planted instructions ignored, nobody else's account touched.
Owning the decisionsThe open calls made by you, written down, and matching what the code does.
Your environment
Terminal + editorA full shell in the browser
Claude CodePre-authenticated, no key setup
Isolated microVMYours alone, wiped afterwards
Start this lab
90 min
Start labYou'll sign in to Anthropos to start. The lab opens in a private cloud workspace with Claude Code ready to use.AI Labs is part of Anthropos Workforce. Not on your plan yet? Book a demo