> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bettter.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Signing in on the portal

> How portal sign-in works for voting, suggesting, and commenting — and how it differs from the owner session.

Portal sign-in uses the same Google authentication as the owner dashboard, but the session is scoped to visitor actions — not admin capabilities.

## When sign-in is prompted

Visitors are prompted to sign in when they try to:

* Suggest a feature
* Vote on a feature
* Post, like, or delete a comment

Browsing the board, roadmap, changelog, and support form does not require sign-in.

## Auth flow

```mermaid theme={null}
flowchart LR
  action[Visitor action] --> dialog[Sign in dialog]
  dialog --> apex["bettter.app/sign-in"]
  apex --> bridge["Auth bridge"]
  bridge --> portal["Return to portal"]
```

<Steps>
  <Step title="Trigger a protected action">
    Visitor clicks Suggest, Vote, or Comment without being signed in. A dialog appears with **Sign in** and **Sign up** buttons.
  </Step>

  <Step title="Authenticate on apex">
    Bettter redirects to `bettter.app/sign-in` with a return URL pointing back to the portal page they were on.
  </Step>

  <Step title="Session handoff">
    After authentication, an auth bridge sets the session cookie on the portal host and redirects the visitor back to their original page.
  </Step>

  <Step title="Complete the action">
    The visitor can now suggest, vote, or comment. **Sign Out** appears in the top-right corner of tab pages.
  </Step>
</Steps>

Sign-in works on both `{slug}.bettter.app` and verified custom domains.

## Sign-in dialogs

| Context | Dialog title | Body |
| - | - | - |
| Suggest / vote on board | Please sign up | Sign in or create an account to suggest features and vote. |
| Vote / comment on detail | Sign in to continue | Create an account or sign in to vote and comment on feature requests. |

Buttons: **Sign in**, **Sign up**, or dismiss.

## Sign out

When signed in, visitors see **Sign Out** in the top-right of portal tab pages (Features, Roadmap, Changelog, Support). Feature detail pages do not show Sign Out in the header.

* Click **Sign Out** → shows **Signing out…** while processing
* After sign-out, the visitor stays on the same portal page as a guest

## Portal session vs owner session

| Aspect | Public portal | Owner dashboard |
| - | - | - |
| Browse without login | Yes | No — `/dashboard` requires session |
| Auth provider | Google (NextAuth) | Same |
| Sign-in page | Apex via auth bridge | Apex with redirect to dashboard |
| Sign-out behavior | Stay on current portal page | Redirect to sign-in |
| Permissions | Vote, suggest, comment | Full CRUD, settings, moderation |

Signing in on the portal does **not** grant dashboard access. Only the project owner can manage content and settings from `/dashboard`.

<Note>
  The same Google account can be both a portal visitor and a project owner, but each context has separate permissions. Owner actions always require signing in at `bettter.app/dashboard`.
</Note>

## Next

You have completed the documentation. Return to the [documentation home](/) or explore the [Bettter demo portal](https://bettter.bettter.app) to see everything in action.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.