Somebody else's report is a 404, and the user id is in the where clause rather than in an if A developer at CogniPrep detailed how the assessment platform's exercise report page at /dashboard/exercises/report/ is secured by pushing the user id into the SQL where clause rather than comparing ownership after the fetch, so the repository function cannot return another user's attempt. The route collapses missing ids and other users' rows into a single notFound() response to avoid confirming that a row exists, and the page disables caching and indexing while polling itself during AI review. A saved attempt at one of our assessment centre exercises now has its own URL, /dashboard/exercises/report/