1
Path 1: Help desk call
A caller who lost their sign-in phones the help desk. The agent starts a verification, the caller passes Face Check on their own phone, and the agent releases the pass to that phone without ever seeing it.
- Who
- Two testers: an agent and a caller
- Devices
- Agent on a computer; caller on a phone (or computer plus phone)
- Needs
- Caller has a Verified Employee card. Agent has the HelpDesk.Agent role.
Happy path
- Agent signs in, enters the caller's work email and starts the verification. A 6-digit code, a link and a "Say this" script appear.
- Caller opens the caller page on the phone and types the code (or opens the link the agent sent).
- Caller taps Open in Microsoft Authenticator, shares the Verified Employee card, takes the Face Check selfie and swipes back.
- Caller page shows Face Check passed; the agent's timeline shows each step with the Face Check score.
- Agent presses Release pass to the caller's phone. Caller taps Show my one-time pass: pass, countdown and Copy pass.
- Caller adds the work account in Authenticator with the pass and creates the passkey. Within about 15 seconds the agent sees Passkey registered.
Test cases (14)
IDDevicesWhat to doExpected
HD-01Agent: computer. Caller: phoneHappy path aboveEach step as listed; the pass never appears on the agent page; timeline ends with Passkey registered
HD-02Agent: computer. Caller: phoneAgent sends the link with the code; caller opens itCode is pre-filled; rest as HD-01
HD-03Agent: computer. Caller: computer + phoneCaller types the code on a computer, opens "On a computer? Scan this with Authenticator" and scans the QR from inside AuthenticatorFace Check on the phone; the pass appears on the caller's computer after release
HD-04Agent: computer. Caller: phoneAfter the Face Check passes, agent presses Show pass here to read outPass shows on the agent page once; caller page says it was already shown
HD-05Caller: phoneReload the caller page after the pass was shown"Your pass was already shown"
HD-06Caller: phoneType a wrong code"That code is not valid. Ask the agent for a new one." More than 10 tries a minute from one network is refused
HD-07Caller: phoneWait more than 5 minutes after the agent startsCode or request has expired; agent starts a new one
HD-08Caller: two phonesEnter the same code on a second phoneSecond phone refused; only the first browser can reveal the pass
HD-09Caller: phoneFace Check with a different face, or the face covered"The Face Check did not pass. Tell the agent." No release button for the agent
HD-10Caller: phoneShare another employee's Verified Employee cardRefused: the card must belong to the account the agent entered
HD-11Agent: computerStart a verification for an email that does not exist or is disabled"No eligible account was found for that user principal name."
HD-12Agent + callerCaller not in VID-Pilot-Users; pass the Face Check and releasePass refused with a clear error on the agent page
HD-13Agent + callerCaller holds a privileged directory rolePass refused: "use the manual admin recovery process"
HD-14Agent: computerSign in without the HelpDesk.Agent roleAccess denied; no console
2
Path 2: Self-service recovery with a card
An employee who still has the Verified Employee card in Authenticator (passkey lost, or phone restored from an Authenticator backup) recovers alone: Face Check, one-time pass, passkey.
- Who
- One tester
- Devices
- Phone, or a computer that hands off to the phone by QR
- Needs
- A Verified Employee card in Authenticator.
Happy path
- Open recovery, keep I still have my Verified Employee card, enter the work email, Continue.
- Start Face Check in Authenticator: share the card, take the selfie, swipe back. The page moves on by itself.
- Show my one-time pass: shown once, with a 60-minute countdown and Copy pass.
- In Authenticator: +, Work or school account, Sign in, the work email, "Use your Temporary Access Pass instead", paste, Create a passkey.
- Back in the browser: Your passkey is registered, with the phone setting that makes sign-in offer it.
- From a computer (SR-02): scan the Continue on your phone QR, press Continue on this phone. The computer becomes a live progress page that never shows the pass.
Test cases (14)
IDDevicesWhat to doExpected
SR-01PhoneHappy path on the phoneFinish screen within about 15 seconds of creating the passkey
SR-02Computer + phoneStart on the computer, scan the QR, finish on the phoneComputer shows live progress; all three steps turn green; pass never shown there
SR-03Computer + phoneUse the "No camera?" link under the QR instead of scanningSame as SR-02
SR-04Computer + 2 phonesScan the same QR with a second phone after the first continued"This code has expired or was already used"
SR-05Computer + phoneWait 10 minutes before scanningCode expired; reloading the computer page gives a new one
SR-06Computer + phoneOpen the hand-off link in a mail or chat preview onlyNothing moves; the computer keeps control
SR-07PhoneAuthenticator does not open from the button"Authenticator did not open?" shows a QR to scan from inside Authenticator
SR-08PhoneFail the Face Check (wrong face, poor light)Failure banner and retry; after 3 tries the page points to the help desk
SR-09PhoneAfter the pass, tap "I lost the pass or it expired, get a new one"Fresh Face Check, then a second pass; a third is refused
SR-10PhoneTap "I've created my passkey, finish" before it is detectedJourney finishes as self-confirmed
SR-11PhoneNo card: tap "No Verified Employee card in Authenticator? Email me a setup link instead""Check your personal email"; continue in Path 3
SR-12PhoneUse an email that does not existLooks the same as a real account; Face Check can never pass; no email sent
SR-13PhoneStart 4 times within 10 minutes for one accountFourth: "Too many attempts for this account"
SR-14Phone, other browserOpen the journey address (/j/...) in another browser or a private tab"Not available in this browser"; no journey details
3
Path 3: New phone without a card
An employee on a new phone with no card asks for a setup link. It goes to the personal email on file and works once for 24 hours. The journey adds a temporary card from the HR photo, runs Face Check, issues the pass, and offers to remove the old phone's passkey.
- Who
- One tester
- Devices
- Phone, or a computer that hands off to the phone by QR
- Needs
- A personal email and a profile photo on the account. Delete any Verified ID card from Authenticator first.
Happy path
- Open recovery, choose New phone, no card on it, enter the work email, Email me a setup link.
- "Hindentech: set up your new phone" arrives from onboarding@hindentech.com. Open Set up my new phone on the new phone.
- If the mail app showed a preview first, the page asks to continue on this phone; tap Continue on this phone.
- Confirm Authenticator is installed, Get my card in Authenticator and tap Add, Face Check with that card, then the pass and the passkey.
- Finish screen lists other passkeys under Remove the passkey from your old phone; Remove confirms Old passkey removed.
Test cases (11)
IDDevicesWhat to doExpected
NP-01PhoneHappy path on the phoneEmail within 2 minutes; card added; Face Check passes; passkey detected; old passkey removed
NP-02Computer + phoneOpen the emailed link on a computer, continue on the phone by QRComputer shows live progress and never the pass
NP-03PhoneOpen the link in the mail app's browser, then in Safari or ChromeSecond browser asks to continue on this phone; then the first can no longer act
NP-042 phonesAfter a pass on phone A, open the same link on phone B"This link is already in use on another device"
NP-05PhoneOpen a link older than 24 hoursLink refused; ask for a new one
NP-06PhoneRequest a link for an unknown email, or an account with no personal addressSame "Check your personal email" page; no email sent
NP-07PhoneRequest 4 links for one account within 10 minutesFourth: "Too many attempts for this account"
NP-08PhoneCheck the list on the finish screenThe new passkey is never listed; removing an old one stops it signing in
NP-09PhoneDecline the card in Authenticator"The card could not be added. Try again." with a retry button
NP-10PhoneAccount with a large profile photo (over 500 KB)Card adds normally (regression for 2026-10-29)
NP-11PhoneAccount not in VID-Pilot-Users: add the card and pass Face Check"A pass can't be issued for this account." After adding the account to the group the same link works
4
Path 4: Pre-hire onboarding
A new hire whose account HR pre-created sets up sign-in before day one, from a personal link valid for 7 days: get Authenticator, add the Pre-hire Identity card, Face Check, one-time pass, passkey.
- Who
- HR tester plus a new-hire tester
- Devices
- HR on a computer; new hire on a phone, or a computer plus phone
- Needs
- Test hire with a profile photo and a personal email. Links also come from Path 5.
Happy path
- HR signs in to the help desk, opens New hire link, enters the work email and creates the link, then sends it to the personal address.
- New hire opens it on the phone: "Hi <name>, let's set up your sign-in" with the steps and the work account.
- I have Authenticator, continue (store buttons for iPhone and Android above it).
- Get my card in Authenticator, tap Add, swipe back: "Card added. Welcome back."
- Face Check with the Pre-hire Identity card, then the pass, then the passkey, as in Path 2.
- Finish screen: passkey registered, the phone setting, and "Your manager has been told you are ready".
Test cases (10)
IDDevicesWhat to doExpected
PH-01HR: computer. New hire: phoneHappy path with an HR-created linkAll five steps; passkey detected
PH-02New hire: phoneUse the link from the Lifecycle Workflows welcome emailSame journey as PH-01
PH-03New hire: computer + phoneOpen the link on a computer, continue on the phone by QRComputer shows live progress; pass never shown there
PH-04New hire: phoneClose the browser after the card, open the same link againResumes at the Face Check step
PH-05New hire: phoneOpen the link in the mail app preview first, then the browser"Continue on this phone?"; nothing lost
PH-06New hire: 2 phonesAfter the pass on phone A, open the link on phone B"This link is already in use on another device"
PH-07HR: computerCreate a link for an account with no profile photoRefused: upload the HR photo first
PH-08New hire: phoneOpen a link with a changed character, or older than 7 daysLink refused; no account details shown
PH-09New hire: phoneOpen a link after the cancelled-hire workflow ranLink refused; card in Authenticator revoked
PH-10New hire: phoneAt Face Check, share someone else's Pre-hire Identity cardRefused; the card must belong to the link's account
5
Path 5: Lifecycle Workflows
Four workflows automate onboarding and offboarding around Paths 3 and 4. Scheduling is off in the test tenant, so the identity team runs each on demand for a test account and the tester checks the emails, the run history and the account.
- Who
- Identity team runs it; tester checks the results
- Devices
- Computer (Entra admin center) and the test hire's personal mailbox
- Needs
- Test account with department VID-POC, a manager, a personal email and a profile photo.
The workflows
- VID pre-hire identity proofing (3 days before hire): creates the link, emails it, emails the manager, adds the account to VID-Pilot-Users.
- VID day before start (1 day before hire): checks for a passkey; if none, emails a fresh link; emails the manager the outcome.
- VID cancelled hire (on demand): revokes links and cards, removes the account from VID-Pilot-Users, disables it.
- VID leaver (leave date): revokes cards and links, revokes refresh tokens, removes the account from VID-Pilot-Users.
- After LW-08 and LW-10, re-enable the account and add it back to VID-Pilot-Users before using it again.
Test cases (10)
IDDevicesWhat to doExpected
LW-01Identity teamRun pre-hire for a fully set-up test hireWelcome email; manager email "<name> starts soon: set-up link sent"; both tasks Completed; account in VID-Pilot-Users
LW-02Identity teamRun pre-hire for an account with no personal emailNo welcome email; manager email "Action needed" with the reason; link task Failed
LW-03Identity teamRun pre-hire for an account with no profile photoAs LW-02; reason names the missing photo
LW-04Identity teamRun pre-hire for an account with no managerWelcome email sent; no manager email; task Completed
LW-05Identity teamRun day-before for a hire who already has a passkeyManager email "<name> is ready for their first day"; nothing to the hire
LW-06Identity teamRun day-before for a hire with no passkey"Your first day is tomorrow" with a fresh link; manager told the hire has not finished
LW-07Identity teamRun day-before for a disabled account or one with no personal emailManager email "Action needed" with the reason; task Failed
LW-08Identity teamRun cancelled hire after a link was sent and a card addedOld link refused; card revoked; account disabled and out of VID-Pilot-Users
LW-09Identity teamRe-enable the cancelled account and run pre-hire againNew link works; old links stay refused
LW-10Identity teamRun leaver for an employee with a Verified Employee cardCard revoked; sessions end; account out of VID-Pilot-Users
Security checks
Run each once per path where it fits. A failure here blocks release even when the happy path works.
Checks (12)
IDCheckHow to testExpected
SEC-01The pass is shown once, to the person onlyLook for the pass on the agent page, the computer's progress page, a reloaded journey page, and in App InsightsOnly on the one screen, once
SEC-02Pass rulesUse the pass twice; and once after 60 minutesSecond and expired use both fail
SEC-03A journey address alone gives nothingCopy a /j/... or /m/... address into another browser or private window"Not available in this browser"
SEC-04The handed-off computer cannot actAfter continuing on the phone, press Back on the computer and a step buttonRefused; computer stays read-only
SEC-05No account lookupCompare a real and a made-up email on recovery start, setup link and the no-card switchIdentical pages; mail only for real accounts
SEC-06Rate limits11 wrong caller codes in a minute; 4 starts or link requests for one account in 10 minutesRefused with a wait message
SEC-07Who can get a passAccounts outside VID-Pilot-Users, privileged or disabledRefused on every path
SEC-08Links are signed and limitedChange one character; use an expired, revoked or used linkRefused with a plain message
SEC-09Card must match the accountShare someone else's card at any Face CheckRefused
SEC-10Caller hostname shows only the caller pageOpen /Onboarding and /api/onboarding/links on the caller hostnameNot found
SEC-11Onboarding API needs the automation tokenPOST to the help desk's /api/onboarding/links without a token, or as an agent401 Unauthorized
SEC-12Telemetry keeps secrets outAfter a run, check App Insights request URLsTokens, journey ids and codes show as {redacted}
Devices and accessibility
Only iPhone with Safari has been run end to end; Android has never been tested and is the top gap. Run SR-01, NP-01 and PH-01 on every phone, and SR-02 on every computer.
Device matrix (7)
IDPlatformBrowser and pathsPriority
DEV-01iPhone, iOS 17+Safari: all pathsMust (baseline, passed)
DEV-02iPhone, iOS 17+Chrome; links from Outlook and Gmail apps: SR-01, NP-01, NP-03, PH-01Must
DEV-03Android 14+, Google PixelChrome; links from Gmail and Outlook: all phone paths and the passkey provider settingMust (never tested)
DEV-04Android 14+, Samsung GalaxySamsung Internet and Chrome: all phone paths and the passkey provider settingMust (never tested)
DEV-05Windows 11Edge and Chrome: agent console, SR-02, NP-02, PH-03, HD-03Must
DEV-06macOSSafari and Chrome: SR-02, NP-02, PH-03Should
DEV-07Any phoneLargest text size, and landscape: SR-01Should
Accessibility, WCAG 2.2 AA (6)
IDCheckHow
A11Y-01VoiceOver on iPhoneSR-01 and NP-01 eyes off the screen; status changes are read out
A11Y-02TalkBack on AndroidSame as A11Y-01
A11Y-03Keyboard only on a computerTab through recovery start, the caller page and the agent console; focus always visible
A11Y-04Automated scanaxe DevTools on every page of Paths 1 to 4; no serious or critical issues
A11Y-05Zoom and reflow200% zoom, and a 320-pixel-wide window; no sideways scrolling
A11Y-06Reduced motionTurn on reduce motion; the waiting dot stops pulsing
Known limits, not defects
Deliberate proof-of-concept shortcuts or platform behaviour. Note them in the run record if they affect a test, but don't raise a defect.
- Runs live in memory
- A deploy or restart ends every run in progress; reopening the setup link starts that journey again
- One small server
- The first request after a quiet spell can take 15 to 30 seconds
- Authenticator does not hand back
- After Add or Share, swipe back to the browser yourself
- Passkey detection polls
- "Passkey registered" can take about 15 seconds; after 15 minutes only the finish button closes the step
- Day-before check is yes or no
- The manager email does not say at which step the hire stopped
- Email only
- No SMS links or Teams messages
- Workflow scheduling is off
- Workflows run only when the identity team runs them on demand
- Neutral styling
- Plain palette, proof-of-concept footer, help desk contact as an email address
- Phone requirements
- iPhone needs iOS 17 or later; Android needs 14 or later