Onboarding
When you first sign in at app.engram.page,
Engram walks you through a short onboarding wizard before opening
your vault. The wizard exists because Engram requires Terms
acceptance and an active subscription state before vault endpoints
are reachable.
What the wizard covers
Section titled “What the wizard covers”The wizard is two steps:
- Agreement — accept the Terms of Service and Privacy Policy.
Logged in the server-side
user_agreementstable against the currentCURRENT_TOS_VERSION. - Billing — pick a plan and complete checkout through Paddle (or pick Free, which skips Paddle entirely). See Billing → Tiers for what each tier covers.
When both steps are complete, you’re handed off to the vault browser.
Why it gates vault access
Section titled “Why it gates vault access”The backend wraps /api/notes, /api/search, and /api/folders
behind a RequireOnboarding plug that verifies:
- Latest Terms have been accepted by this user
- Subscription is in good standing (or self-host, which bypasses this check entirely)
If either check fails, the API returns 403 and the web app redirects back into the wizard. This means you can’t accidentally get into a broken half-onboarded state — the gate either lets you through or gives you the screen that resolves the missing step.
Skipping the wizard (self-host)
Section titled “Skipping the wizard (self-host)”On self-host, billing is off by default (no PADDLE_API_KEY →
config :engram, :billing_enabled is false). The wizard short-
circuits past the plan-choice step. You’ll still accept Terms once.
Re-running the wizard
Section titled “Re-running the wizard”You can’t manually re-run it — once accepted, you’re past it. If Terms change, Engram bumps the version server-side and the next API call returns 403; the app re-renders the Terms acceptance step only. Plan changes happen on the Billing page, not in the wizard.