Impersonation safeguards
Sometimes the only way to debug a customer issue is to see what they're seeing. TSNC's impersonation feature lets a platform admin do that โ with hard guardrails so it can never be used to harm the customer.
What impersonation does
From a user's page in the platform admin tools, hit Impersonate. You assume that user's session. You see what they see. You can navigate around the app as them, identify the bug, and end impersonation when done.
Impersonation is the support tool of last resort. Most issues can be solved by reading the audit log, asking the customer to reproduce on a screenshare, or writing a debugging script. Impersonate when those have failed.
The hard guardrails
Even while impersonating a user, certain actions are completely blocked. These aren't suggestions โ they're enforced at the API level, on every endpoint, and they cannot be overridden by any platform admin role.
Vault is fully blocked during impersonation
- All 32 password vault API endpoints refuse to respond when the requester is impersonating
- The vault UI shows a clear "Impersonating โ vault locked" banner
- You cannot read, modify, share, or delete any password while impersonating
- This applies even if the impersonated user has presented MFA
Impersonation tokens carry no admin privileges
When you impersonate, your session takes on the impersonated user's privileges โ NOT yours. If the user is a basic teacher, you have teacher-level access. If they're a principal, you have principal-level access. Your platform admin powers do NOT carry into the impersonated session.
Net effect: you cannot escalate by impersonating a low-privilege user and somehow gaining higher-privilege actions. The impersonation flattens you to whoever you're impersonating.
Every action is logged with your identity
While impersonating, every API call is recorded in the audit log with TWO identities: the impersonated user (whose session you're using) and you (the platform admin doing it). Both are visible. There is no "hidden impersonation" โ it's designed to leave a clear trail.
The user can see when they were impersonated
Users can view the audit log of actions on their own account. Impersonation events appear there with the platform admin's name and timestamp. We're transparent with customers that this feature exists and that it leaves a paper trail they can read.
Starting an impersonation
- 1Find the user in All UsersSearch by email or name.
- 2Click their profile, then ImpersonateConfirm the action. You'll be redirected to their session.
- 3See the persistent bannerA red banner stays at the top of every page reminding you that you're impersonating, and listing the user's email. The banner has an "End impersonation" button.
- 4Do your debuggingNavigate as the user would. Reproduce the bug. Take notes (NOT screenshots โ never screenshot a customer's session).
- 5End impersonationAlways end the session explicitly. Don't just close the tab. The audit log records the start AND end times.
- Get explicit consent from the customer before impersonating, when possible
- Limit impersonation to the minimum time needed (under 10 minutes is healthy)
- Don't take notes that include personal info (names of contacts, calendar events, etc.)
- Don't click destructive buttons (deactivate, delete) even if they're asking you to
- If you need to make a change, do it from your own platform admin tools, not from inside impersonation