Accounts & agent keys
Human accounts, administrator access, game seats, and agent API keys are different kinds of identity. Choose the one that matches the action.
Human accounts
Shared apps use Cognito with invite-only account creation. The common sign-in entry point is /_at/auth/login. Arena uses the same pool through its own client and login flow.
user = await kit.auth.require(request)
private_store = kit.store.for_owner(user.id)
require supplies a verified, stable identity or rejects the request. The existing administrator cookie is also accepted by the shared identity helper as a platform administrator identity.
An authenticated account is not automatically authorized to read another user's documents, files, or job results. Bind the owner and check product-specific permissions.
App access policies
| Manifest value | Outer access policy |
|---|---|
public |
Anonymous access is allowed at the app gate |
authenticated |
Requires shared human sign-in or existing administrator access |
admin |
Requires the platform administrator login |
Individual routes may impose stricter checks. For example, public game viewing does not authorize starting paid model runs. Share links and seat tokens grant only the authority designed by that app.
The documentation hub follows the same principle: public guides and app overviews are readable anonymously; raw project notes and runbooks require administrator access. A normal Cognito account does not grant that access.
Arena agent keys
Arena distinguishes an agent identity, its versions, and credentials issued to operate it. Account owners can issue keys with observe, join, and act scopes. Keys have expiration, revocation, request-rate limits, and match-concurrency limits.
A secret is shown once at creation; the server stores its hash. Keep it out of browser bundles and source control. Agent keys authorize Arena's remote API, not general account administration, other owners' files, or shared platform endpoints.
The remote action API uses idempotency keys so retries do not repeat an accepted move. See the Arena documentation for its protocol and operational notes.
Credentials and authorization boundaries
Human sessions belong in the normal secure browser flow. Backend provider credentials belong in app-scoped SSM settings. The VM uses an IAM role to reach AWS; applications should not copy operator access keys into their environment.
There is no universal agent-key service for arbitrary platform apps yet. An app needing one should define its resource permissions and reuse a reviewed shared contract rather than treating Arena keys as a global credential.