19. Team Collaboration

Alex wants to give a colleague access to the project without sharing API keys.

The Members tab on the Settings page lets you invite team members to your project with role-based access control. Each member gets their own login — no shared credentials needed.

Roles

Eurobase has four roles, ordered from least to most permissions:

  • Viewer — read-only access to data, logs, and compliance reports (for edge functions: the list, settings, triggers, metrics and environment variable names; their code, versions, invocation logs and variable values need Developer)
  • Developer — viewer + can edit data, manage schema (create/drop tables, columns), and manage edge functions
  • Admin — developer + can change project settings, regenerate API keys, manage vault secrets, and invite or remove members
  • Owner — admin + can delete the project and change other members' roles. Every project has exactly one owner (the creator).

Inviting members

Go to Settings → Members, enter an email address, select a role, and click Send Invite. The recipient receives an email with an invitation link that expires in 7 days. If they don't have a Eurobase account yet, they'll need to sign up first, then click the link again.

Managing members

  • Change role — only the project owner can change a member's role using the dropdown in the members table
  • Remove — only the project owner can remove members. Members cannot remove themselves.
  • Resend invitation — if an invitation hasn't been accepted, click Resend to generate a fresh token and re-send the email

How it works

Once invited, a member sees the project in their project list alongside any projects they own, marked Shared with the owner's email on the card. All member actions are recorded in the Compliance → Audit Log: invitations sent, accepted, roles changed, and members removed.

Transferring ownership

Built a project for a client, a club or an association, and want it to live in their account rather than yours? The owner can hand the whole project over. Go to Settings → Transfer this project, enter the recipient's email, check the address on the confirmation screen, and send (you'll be asked for your password if you haven't signed in recently). The recipient gets an email and accepts while signed in to their own account — nothing changes until they do. The offer is valid for 7 days. Until it's accepted, you can withdraw it with Cancel transfer in the same place — for example if you used the wrong address — and the emailed link stops working.

When they accept: they become the owner, you're demoted to admin (so you can keep helping; the new owner can remove you from Members), and both sides are recorded in the audit log. The recipient needs room for the project under their own plan's project limit.

  • Paid projects: your subscription ends with the period you've already paid for — no further charges and no refund for the remainder. The new owner can set up their own subscription in Billing right away: they confirm a card or PayPal account (€0 today) and are first charged on the day your period ends. Example: you paid for October and transfer on 14 October; the new owner subscribes any day before 1 November and is first charged on 1 November. No gap, and nobody pays for October twice. If they haven't subscribed by then, the project moves to the Free plan until they do. The early €0 sign-up needs a card or PayPal; a new owner who wants to pay by bank account subscribes on or after the day your period ends instead, and the project is on Free from that day until they do.
  • Overdue payments: a transfer is refused while the project's last payment has failed (Billing shows Payment failed). It can go ahead once a retried charge has come through, or once the project has moved to the Free plan.
  • Invoices stay with whoever paid them — yours stay in your account, the new owner's go to theirs.
  • Not yet transferable this way: projects attached to an organization, and Team / Legal Team projects — contact support for those.

Members share the project's plan and API keys. They can access all data in the project's database and storage based on their role. Individual API keys per member are a future feature.