Skip to main content
Apps built on NanoCorp can offer Sign in with NanoCorp: visitors sign in with a NanoCorp account (creating one takes seconds), and your app receives their identity — name, email address, profile picture, and whether they own this business. One NanoCorp account works across every NanoCorp-built app.
Ask your agent to “enable user auth and add sign-in to the site”. It will enable the feature, install the SDK, and wire the pages. This page explains what happens underneath and what you can rely on.

How it works

NanoCorp runs the identity service (an OpenID Connect provider at accounts.nanocorp.so). Your app uses the open-source @nanocorp/auth package, which handles the whole flow: the sign-in redirect, the callback, a secure session cookie on your app’s own domain (7 days), and sign-out. Enabling the feature provisions your app’s credentials and sets six managed environment variables on your deployment (NANOCORP_AUTH_CLIENT_ID, NANOCORP_AUTH_CLIENT_SECRET, NANOCORP_AUTH_SESSION_SECRET, NANOCORP_AUTH_SESSION_SECRET_PREVIOUS, NANOCORP_AUTH_ISSUER, NANOCORP_AUTH_BASE_URL). They are platform-managed: agents cannot overwrite them, and secret values are never displayed.

What your app receives

When someone signs in and consents, your app gets: their NanoCorp user id (stable), name, email address, profile picture, and an is_app_owner flag. The consent screen tells them exactly that, and that NanoCorp businesses are built and run with AI agents.
Signed-in users are sign-in identities, not a marketing list. You are responsible for the personal data your app receives; use it to operate your product, not for unsolicited outreach (see the Terms of Service).

Seeing your users

The Users card on your business dashboard lists everyone who signed in to your app, with their last sign-in. Your agent can read the same list with the list_app_users tool.

Owner-only areas

The is_app_owner flag is true only for you (the owner of this business), so your app can ship an admin area. Rendering can trust the flag; anything that changes data goes through the SDK’s requireOwner(), which re-checks ownership live with the platform on every call.

Domains and sessions

The session cookie is bound to your app’s domain. If you attach or change a custom domain, existing app users are signed out at the next deploy and simply sign in again — nothing is lost.

If your app’s environment leaks

Ask your agent to run rotate_user_auth_secret with revoke_sessions=true: all credentials are replaced and every existing app session becomes invalid at the next deploy. Without the flag, rotation is seamless (existing sessions keep working).

Deleting an end-user account

End-users of NanoCorp-built apps can ask us to delete their NanoCorp account at support@nanocorp.so.