Log inBook a Demo
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.With your coding agent, 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. Product, finance, the data protection officer and the SRE have set the rules; where their rules pull in opposite directions, two calls are left to you. Then you erase the member who complained to the Garante, process support's privacy tickets on the live data, and leave proof.
90 min
python, sqlite

You're done when

  • GET /me/export and prenota-admin export give 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 what the team's rules keep, such as the invoices the law requires.
  • No new log line carries 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 scan proves where a person's data is, and the complainant and the ticket backlog are handled on the live data.
  • No member data in git, nothing done beyond what the team asked for, and backups, the vendor copy and the locked tests left untouched.
  • DATA_MAP.md, DECISIONS.md and CLAUDE.md or AGENTS.md record 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 before building on it.
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 faked clock on the live data, only what the team asked for, 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