> For the complete documentation index, see [llms.txt](https://docs.notionapps.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.notionapps.com/users/private-apps.md).

# Private apps

Canonical page for making an app private and choosing login methods. Phone OTP is documented as it actually ships.

## What this is / when to use it

A **private** app (`AccessType.PRIVATE`) requires a login. A **public** app (`PUBLIC`) does not. Use private whenever rows are personal, commercial, or regulated.

You can still expose **selected screens** to guests. That is [per-screen public access](https://docs.notionapps.com/how-to-guides/per-screen-public-access), not a second access type.

## Before you start

Users database + at least one login method. [Create Users Database](https://docs.notionapps.com/users/create-users-database).

## Build it

1. Open **Users**.
2. Set access to **Private**.
3. Choose **primary** auth:
   * Email OTP — `OTP_EMAIL`
   * Email & password — `EMAIL_PASS`
4. Optionally add **additional** auth types: Google, Auth0, Okta (and Email OTP beside password, or the reverse).
5. Configure each additional provider under [Integrations](https://docs.notionapps.com/integrations/integrations).
6. Publish. Open a private window. Confirm login.

## Every control

| Control            | Enum / options                                | What it does                                                                                                                                                                                                                                                          |
| ------------------ | --------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Access             | `PUBLIC` / `PRIVATE`                          | Login gate.                                                                                                                                                                                                                                                           |
| Primary auth       | `OTP_EMAIL` / `EMAIL_PASS` / legacy `OTP_NUM` | How the login screen starts.                                                                                                                                                                                                                                          |
| Additional auth    | `google` / `auth0` / `okta` / extra OTP       | Extra buttons.                                                                                                                                                                                                                                                        |
| Phone OTP          | `OTP_NUM` (`AuthType.PHONE` in the frontend)  | **Still in the type system** for existing apps. **Not** offered as a new primary method in the current Users UI. Docs that say “unavailable” mean “do not start a new app on phone OTP.” Existing phone apps keep working until you migrate to email OTP or password. |
| Login methods help | This heading                                  | Product help `loginMethods` points here.                                                                                                                                                                                                                              |

Maker password reset is the NotionApps account. End-user password reset is on the app login when primary is `EMAIL_PASS`.

## Login methods

Primary auth is Email OTP or Email & password. Additional buttons are Google, Auth0, Okta, or a second OTP type. Configure providers under [Integrations](https://docs.notionapps.com/integrations/integrations), then publish.

## Enable Google login method

1. Turn the app **Private**.
2. Add **Google** as additional auth (or use it beside the primary method).
3. Complete [Google Login](https://docs.notionapps.com/integrations/google-login) on Integrations.
4. Publish and confirm the Google button on the login screen.

## What users see

A login screen. Additional providers appear as extra buttons after Integrations are on and published. Signup appears only if you enabled it.

## Limits and plans

SSO and extra providers are plan-gated. See [Plans](https://docs.notionapps.com/plans-and-entitlements) and [Enterprise SSO](https://docs.notionapps.com/enterprise-sso).

## Example

Staff tool: private, Email & password, additional Google. No signup. Users added by invite.

## Fix problems

| Symptom                           | Likely cause                      | What to do                                                                                            |
| --------------------------------- | --------------------------------- | ----------------------------------------------------------------------------------------------------- |
| Google button missing             | Integration off or not additional | [Google Login](https://docs.notionapps.com/integrations/google-login).                                |
| Phone option missing on a new app | Expected                          | Use email OTP or password.                                                                            |
| Cookies error                     | Embedded login                    | [Third-party cookies](https://docs.notionapps.com/troubleshooting/how-to-enable-third-party-cookies). |

## Related

[Sign up](https://docs.notionapps.com/users/sign-up). [Integrations](https://docs.notionapps.com/integrations/integrations). [Auth and access](https://docs.notionapps.com/users/auth-and-access).
