The test login, right where testers install the build
Pro and Team
Many apps open on a sign in screen. A client or a QA vendor installs the build, then waits for someone to send a user name and password, usually pasted into a chat or into the release notes where anyone with the link can read it.
With test accounts on the install page, you add the login once to the build or to its channel. Testers see it next to the Install button, with copy buttons, only after they have unlocked the page.
Example
Test account for this build
- User name[email protected], Copy
- PasswordHidden, Show, Copy
- NoteStaging server, demo data
Made for
- Agencies sending client builds that need a demo login
- Teams whose QA vendor tests with shared test accounts
- Apps with a sign in wall that reviewers must get past
What it ends
- Passwords pasted into release notes or chat threads
- Testers stuck on the sign in screen, waiting for a reply
- A different place for the build and for the login details
How it works
Step 1
Add the test login
On the build page, or on a channel so every build in it shows the same logins, add up to 3 test logins: user name, password and an optional note such as "staging, admin role".
Step 2
Protect the page
Set a page password or hand out access codes. On an open page without a password the logins are never shown. On Team, invited testers of a private project see them too.
Step 3
Testers copy and sign in
After the page is unlocked, testers see the logins with copy buttons. The password stays masked until they press Show.
Where the logins appear, and where they never do
Testers see them on the install page once the page password or an access code is accepted, or as invited testers of a private project on Team. An open page without a password never shows them.
They never appear in emails, webhooks, AI assistant answers or the in-app update check. Builds on Guest or Free never show them. In the dashboard the owner sees user names and notes, never the passwords.
Stored encrypted
Each password is encrypted with its own data key, which is wrapped by Google Cloud KMS, the same way AppForShare keeps store keys. Removing a login deletes it. Purged builds and deleted accounts take their test logins with them.
Use test accounts only, never a real person's account. The form says so too.
From the CLI
appforshare link <build> --test-login <user> --test-password-stdin, with --test-note <text>, adds a login. Use --channel <name> --app <bundle id> instead of a build for a channel. --test-logins lists them without passwords, and --remove-test-login <user|all> removes them. There is no AI assistant tool for it, so secrets stay out of assistants.
Good to know
- Up to 3 test logins per build or channel.
- Shown only behind a page password, an access code or a private project. An open page never shows them.
- When a plan lapses, the install page stops showing them; removing still works on any plan.
- It does not create accounts in your app. You make the test accounts yourself.
Questions
- Which plan do I need?
- Pro or Team. Access codes and private projects are on Team; a page password works on Pro.
- Can I see the password again after saving it?
- No. The owner sees user names and notes only. Testers see the password on the unlocked install page.
- Does the login go out in the email to testers?
- No. Logins are never in emails, webhooks, AI assistant answers or the update check.
- Can I set it once for every build?
- Yes. Add it to a channel and every build in that channel shows it.
Read next
Try it on your own app
Free account in a minute. Pro starts with a 7 day free trial.
More features
- Builds on GitHub Actions
- Flutter builds on GitHub Actions
- Flutter facts and checks
- Connect Expo (EAS builds)
- Connect Codemagic
- Send store builds to TestFlight and Google Play
- TestFlight groups and beta review on send
- TestFlight feedback in your inbox
- iOS device registration
- Hands free device setup
- Store listing editor
- App Store submission
- Google Play releases
- TestFlight tester sync
- Tester app with notifications
- Tester groups and status
- Join links for testers
- Beta and Live channels
- Build history page
- Tasks and activity feed
- Feedback to Linear and Jira
- Release checklist, approvals and blockers
- Release page per version
- Install link controls
- Several links per build
- Retire a test build
- TestFlight and APK in one link
- Install page in 13 languages
- In-app update check
- .aab uploads
- MCP server for AI tools
- Tester feedback with screenshots
- In-app feedback link
- AI test plan for each build
- Diawi compatible upload API
- Remember my iPhone
- Install help and why it failed
- Email the install link
- Custom channel address
- Verified publisher
- Daily install email
- Zipped .app upload
- Manage link for guest uploads
- Telegram notifications
- Permissions in plain words
- Reply to testers and star ratings