26. Team tier (closed beta)

Alex's first pilot law firm signs on. LexVault needs production isolation, daily backups, and a way to safely try schema changes without holding their breath.

Closed beta — free during the beta window. Team is not yet self-serve on the pricing page. Email contact@eurobase.app with a one-line description of the workload; grants are manual and we'll notify you 30 days before billing turns on.

How Team billing works (post-beta)

A Team subscription is priced per organisation, not per project. First release: one org per user.

  • €149/mo base per org — SSO (OIDC), invites, RBAC, priority support, SLA, and one bundled Team-tier project with dedicated Postgres.
  • Attach additional projects to the org at their per-project runtime rate:
    • Pro project — €25/mo (shared cluster). 5 GB DB, 50 GB storage, 100k MAU, 1k rps. Right choice for most internal tooling.
    • Free project — €0. For staging, scratch, demos. Free-tier limits apply.
    • Extra Team project — €89/mo (dedicated PG). Only when a specific app genuinely needs its own Postgres.
  • Sample bills. €149 + 3×€25 = €224/mo (1 Team + 3 Pro). €149 + 5×€25 = €274/mo (org-only + Pro projects). €149 + €89 + €25 = €263/mo (2 Team + 1 Pro).

Multi-org (each with its own SSO provider) is on the roadmap; first release limits each user to one org they own. Under the hood each project is a separate Mollie subscription line — you'll see one line per project on your bill rather than a single "base + extras" invoice. Unifying that is a UX cleanup we've scoped.

What Team unlocks (beyond Pro)

  • Dedicated Postgres instance in Scaleway fr-par — no shared cluster, no noisy neighbours. Each Team project is its own managed-PG instance.
  • Automatic daily backups with 7-day retention, managed by Scaleway.
  • On-demand snapshots with an optional tag — take one before a risky migration, restore in a few clicks. Retention window shared with daily backups.
  • Self-serve restore from any snapshot, no support ticket. 1 restore per calendar month is included.
  • Organizations + OIDC SSO so a company can share access under one identity provider — covered in the next chapter.
  • Direct Postgres connection URL — the DSN reveal from chapter 25.
What's NOT in the beta yet. Say this up front to your own team so nobody plans around it: SAML SSO (OIDC only for now), project-level RBAC (Owner/Admin/Developer/Read-only), domain-based SSO auto-provisioning (invitees must be added by email today), dev/staging/prod branches, preview function envs. PITR was removed in favour of snapshots.

1. Requesting beta access

  1. Alex emails contact@eurobase.app from the same address they signed up with — one line about the workload ("early-access pilot with a Berlin law firm, ~500 documents, GDPR-sensitive") is enough.
  2. Ops flips team_beta_access on Alex's account (there's a small superadmin panel for this — no direct DB writes needed on our side).
  3. On next page load, Alex sees three new affordances in the console:
    • A Team plan option in the new-project modal.
    • An Organizations entry in the sidebar.
    • A Support entry in the sidebar — Team-tier tickets are prioritised.

2. Creating a Team project

  1. Projects → New project. Pick plan Team. Region defaults to fr-par (Scaleway EU).
  2. Submit. Behind the scenes we enqueue a provisioning job that calls Scaleway to spin up a dedicated managed-PG instance, waits for it to hit state=active, sets the backup schedule, and bootstraps the SDK runtime role.
  3. Wall-clock: 90 seconds to 4 minutes typically; 15 minutes is the ceiling before the worker gives up.
No progress bar yet — the project sits in state provisioning until the worker flips it to active. Refresh the projects page to see the flip; if it's been over 15 minutes, open a support ticket.

3. Backups + snapshots

Alex's Team project is live. Before the first schema migration for the pilot, they want a rollback point.

  1. Project → Database → Backups. The list shows daily backups + any manual snapshots, with created-at, size, and an optional tag column.
  2. Click Create Snapshot. Optional tag (max 64 chars) — Alex types pre-migration-cases-v2 so future-Alex knows what this was for.
  3. Snapshot lands in a few seconds. Alex runs the migration; something breaks.
  4. On the snapshot row, click Restore → confirm modal → a progress panel takes over. Restore quota badge shows the current usage; 1 restore per calendar month is included, with the console blocking further self-serve restores after that (contact support for extras during the beta).
Rollback semantics. Restore rewrites the tenant schema back to the snapshot state. Any data written after the snapshot is lost — the point of the snapshot is that Alex chose that moment. Storage objects in the project's S3 bucket are not included; those have their own lifecycle and can be handled via Legal Team's retention holds if you need them locked (chapter 28).

4. Connecting external tools

Team also unlocks the direct DATABASE_URL surface so Prisma / Drizzle / Payload / psql / migration runners can connect straight to the dedicated instance. Chapter 25 walks that path in detail.

5. Known rough edges (beta)

  • No progress indicator during provisioning; refresh to check.
  • No self-serve billing yet — the Mollie plan-change wiring lands separately.
  • Downgrade Team → Free/Pro is not implemented. Once a project is on a dedicated instance, it stays there for the beta.