You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The sandbox runs on internal infrastructure that an external account can
neither reach nor authenticate against, yet `--sandbox`/`--env
sandbox000`
and the sandbox-only commands (speak/dub/agent-cascade) were offered to
everyone. Gate the whole sandbox surface on the login's email domain:
- Capture the email from AMS discovery at browser login and persist it
on
the profile (config.persist_login); API-key-only profiles have none and
so read as external.
- core/access.py decides internal vs external from that email
(`@assemblyai.com`, fail-closed on a corrupt config).
- The root callback rejects an internal-only environment for an external
account with a clean exit-2 error, exempting `login` so a first-time
employee can still sign in to the sandbox (which records the email).
- `assembly --help` hides the sandbox flags and [sandbox] commands from
external accounts, restoring them after the render so completion and
later in-process renders are unaffected.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QqLkQANDitxPuBwkQJuCi4
---------
Co-authored-by: Claude <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: REFERENCE.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,7 +29,7 @@ Product-scoped variables are `ASSEMBLYAI_*`; CLI-behavior variables are
29
29
| Variable | Effect |
30
30
| -------- | ------ |
31
31
|`ASSEMBLYAI_API_KEY`| API key for all API calls; beats the keyring, loses to nothing but a `--api-key` validation flag. |
32
-
|`AAI_ENV`| Backend environment (`production`, `sandbox000`); beats the profile's stored env, loses to `--env`/`--sandbox`. |
32
+
|`AAI_ENV`| Backend environment (`production`, `sandbox000`); beats the profile's stored env, loses to `--env`/`--sandbox`. The non-production environments are internal: selecting one (here, via `--env`/`--sandbox`, or a profile binding) is rejected with exit 2 unless the active profile is signed in with an `@assemblyai.com` login, and `--env`/`--sandbox` and the sandbox-only commands are hidden from `--help` for everyone else. |
33
33
|`AAI_AUTH_PORT`| Loopback callback port for `assembly login` (dev/test only; default 8585). |
34
34
|`AAI_NO_UPDATE_CHECK`| Disables the "update available" notice and its background refresh. |
0 commit comments