Verdict
- Faked role=admin reaches
- Admin Dashboard chrome — hardcoded demo only. Doctor page redirects to login.
- Faked role=doctor reaches
- Same demo admin + Doctor Dashboard UI. Search of Lane / Raja / A returns 0 rows.
- Server-side role check
- ABSENT on doctorSchedule + doctorPatientSearch (200, empty lists, DEMO marker). portalProfile still 403 on a foreign Oscar ID.
- Real staff data exposed
- no
- Genuine patient role
- admin → own profile. doctor → login.
- R20 tamper suite
- still clean — own cache only, no foreign chart




What we did not find
- No real staff roster, no other patient’s name, HIN, or appointments from the faked role.
- doctorSchedule / doctorPatientSearch accept a patient session (no server role check) but return empty + DEMO.
- portalProfile with a foreign Oscar ID is still 403 Identity verification failed.
- Tampered demographicNo still paints own cache only.
The gate is client-side. Faking the role opens staff chrome. The data behind it is hardcoded demo, not the clinic.