Some screens can only be judged by standing in front of them. The partner
dashboard, the institution seat panel, what a free account is refused — none
of them can be reviewed from a description.

Admin → Review as signs you into a seeded demonstration account so you can
walk those screens yourself. Alpha only, and never in production.

This is not impersonation

The two exist for different jobs and neither is a version of the other.

View as user is for support: a named customer, with a typed reason, an
email to the person, and a refusal for staff and partner accounts. Those rules
are deliberate and none of them has changed.

Review as is for judging screens. It can only enter accounts created by
the demonstration seed — checked against a column on the account, not against
the email address, because anyone can register an address that looks right.

What each account shows

Level What is behind it
Alpha The permission matrix and staff promotion. In development your own account is already alpha, so there is nothing to simulate
Admin Every console, with a full permission set
Admin (read-only) What a staff account holding only audit_view can actually reach
Partner Three sponsored institutions at different fullnesses, with recorded sales and earnings
Institution admin An institution at 6 of 10 seats, with members to manage
Paid user The platform with a subscription: data downloads unlocked
Free user The free tier: data downloads refused

The data is real, not decorative. The partner dashboard shows earnings because
sales were actually recorded; the seat panel shows 6 of 10 because six people
actually hold seats.

Getting in and out

While you are in a demonstration account, an amber strip across the top says
which level you are reviewing and offers the way back. Every entry and exit is
written to the audit log, exactly like impersonation.

Creating and resetting the accounts

bin/rails demo:accounts   # create them, or bring them back to their seeded state
bin/rails demo:reset      # remove them and the data behind them

Both are safe to re-run. If a review session leaves the demonstration data
scribbled on, reset and recreate.

Why not in production

Production has real customers in it. Allowing account switching there would
mean an alpha session could become any seeded account in the production
database, and seeded fake accounts sitting alongside real ones will eventually
be mistaken for customers by whoever is reading a report.

There the page does not exist: it answers “not found”, in the classic pages
and in the new app alike, rather than offering a switch that would refuse.

Sandbox runs the whole platform against its own database with payments that
are not real, which is the right place to review.