-
Notifications
You must be signed in to change notification settings - Fork 18
docs(world-id): add Sandbox environment guide #141
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
94f57b5
docs(world-id): add Sandbox environment guide
noamtfh 4726301
docs(world-id): link Selfie Check testing guide from Sandbox access
noamtfh f540609
docs(world-id): Android sandbox distribution is Firebase App Distribu…
noamtfh c86318e
docs(world-id): simplify Sandbox integration steps per review
noamtfh b441fd1
Merge remote-tracking branch 'origin/main' into docs/sandbox-environment
murph b42e042
Merge remote-tracking branch 'origin/main' into docs/sandbox-environment
murph 06f3f33
docs(world-id): remove forward-link to Selfie Check testing guide
murph File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,63 @@ | ||
| --- | ||
| title: "How to get access" | ||
| description: "Install the sandbox World ID app and point your integration at the Sandbox environment." | ||
| "og:image": "https://raw.githubusercontent.com/worldcoin/developer-docs/main/images/docs/docs-meta.png" | ||
| "twitter:image": "https://raw.githubusercontent.com/worldcoin/developer-docs/main/images/docs/docs-meta.png" | ||
| --- | ||
|
|
||
| {/* cspell:ignore idkit TestFlight VZEurhHe Eurh */} | ||
|
|
||
| Getting set up in Sandbox has two parts: install the **sandbox World ID app** on your | ||
| test device, and point your **integration** at the Sandbox environment. Both are | ||
| covered below. | ||
|
|
||
| New here? Start with [What is Sandbox?](/world-id/sandbox/what-is-sandbox) for context. | ||
|
|
||
| ## 1. Install the sandbox World ID app | ||
|
|
||
| The sandbox builds are not published to the App Store or Google Play. You install them | ||
| directly using the links below. | ||
|
|
||
| ### iOS — TestFlight | ||
|
|
||
| 1. Install [TestFlight](https://apps.apple.com/app/testflight/id899247664) from the | ||
| App Store if you don't have it. | ||
| 2. Open the public TestFlight link to join the external tester group: | ||
| [testflight.apple.com/join/VZEurhHe](https://testflight.apple.com/join/VZEurhHe) | ||
| 3. Install the **World ID (Sandbox)** build from TestFlight. | ||
|
|
||
| No App Store Connect account or per-email invite is required — the public link admits | ||
| you to the external tester group directly. | ||
|
|
||
| ### Android | ||
|
|
||
| The sandbox build is distributed via **Firebase App Distribution**. | ||
|
|
||
| 1. Open the invite/download link we provide. | ||
| 2. Follow the link to install the **World ID (Sandbox)** build. | ||
|
|
||
| You may be prompted to install the App Tester helper the first time. | ||
|
|
||
| <Note> | ||
| Contact your World point of contact to get the current Android links. | ||
| </Note> | ||
|
|
||
| ## 2. Point your integration at Sandbox | ||
|
|
||
| 1. **Update IDKit** to the latest version. | ||
| 2. **Set `environment: sandbox`** in your IDKit configuration. | ||
|
|
||
| Nothing else is required — the handoff will open the sandbox World ID app and return a | ||
| proof to your session over the bridge. | ||
|
|
||
| ## Things to know | ||
|
|
||
| - **Sandbox apps aren't in the app stores.** Because the builds are distributed | ||
| directly to testers, install/store deep links won't route to a store listing the way | ||
| they do in production. Testers install via TestFlight (iOS) or the Android link | ||
| instead — so any journey that depends on a real store install can't be exercised | ||
| exactly as it will be in production. | ||
| - **Proofs are non-production.** Identities and proofs issued in Sandbox are for | ||
| integration validation only. | ||
| - **Accounts are resettable.** You can delete and recreate accounts freely while | ||
| testing. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,54 @@ | ||
| --- | ||
| title: "What is Sandbox?" | ||
| description: "An isolated, production-like environment for testing your World ID integration end-to-end." | ||
| "og:image": "https://raw.githubusercontent.com/worldcoin/developer-docs/main/images/docs/docs-meta.png" | ||
| "twitter:image": "https://raw.githubusercontent.com/worldcoin/developer-docs/main/images/docs/docs-meta.png" | ||
| --- | ||
|
|
||
| {/* cspell:ignore idkit TestFlight */} | ||
|
|
||
| Sandbox is a dedicated, production-like environment for building and testing your | ||
| World ID integration. It runs alongside Production as its own environment, with its | ||
| own backend and its own builds of the World ID app for iOS and Android. | ||
|
noamtfh marked this conversation as resolved.
|
||
|
|
||
| It lets you run a complete integration — from your app or website, through IDKit, into | ||
| the World ID app, and back — without touching production identities or issuing real | ||
| proofs. | ||
|
|
||
| ## Why use Sandbox | ||
|
|
||
| Sandbox is built for integration testing. It gives you: | ||
|
|
||
| - **A full end-to-end round trip.** Sandbox is a valid IDKit destination, so you can | ||
| drive a real request from your surface into the World ID app and receive a proof | ||
| back over the bridge — the same path your production integration will use. | ||
| - **Resettable accounts.** Delete an account and sign up again as often as you need. | ||
| - **Simulated verification.** Exercise verification flows without real hardware or | ||
| real-world credentials. | ||
| - **Controllable gating.** You decide whether the system enforces fraud, risk, and | ||
| attestation checks. Turn enforcement off to move quickly through integration testing, | ||
| or turn it on to validate how your integration behaves under production-like gating. | ||
|
|
||
| ## What you can test | ||
|
|
||
| The full relying-party journey from your surface into the World ID app and back: | ||
| request handoff, consent, capture, enrollment and matching, proof generation, and | ||
| delivery of the proof to your session. | ||
|
|
||
| Both same-device (deep link) and cross-device (QR) flows are supported, on both iOS | ||
| and Android sandbox builds. | ||
|
|
||
| ## What Sandbox is not | ||
|
|
||
| - **Not production.** Accounts and proofs issued in Sandbox are for integration | ||
| validation only — not load testing, security certification, or production sign-off. | ||
| - **Not a source of real uniqueness.** Sandbox does not represent real-world identity | ||
| or uniqueness at scale. | ||
| - **Not published to the app stores.** The sandbox World ID builds are distributed | ||
| directly to testers rather than through the App Store or Google Play. See | ||
| [How to get access](/world-id/sandbox/sandbox-access) for how to install them. | ||
|
|
||
| ## Next step | ||
|
|
||
| Ready to try it? Head to [How to get access](/world-id/sandbox/sandbox-access) to | ||
| install the sandbox app and point your integration at Sandbox. | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Latest or "> version n" @Takaros999 ?