How to Invite Family Members to Your WarpDesk Space
The invite flow is designed to be fast for the sender and low-friction for the recipient. Here's how it actually works.
The sender's side
Open the family page, hit invite, type an email, pick a role. That generates a signed invite token and emails the recipient a link.
The token
It's a random opaque string, single-use, tied to the invited email. It expires after 7 days. Nobody but the recipient can consume it.
What the recipient sees
A branded landing page confirming the family name, the role, and who sent it. Accept requires signing in with the invited email — a different address won't work.
Roles at a glance
Owner: everything, including billing and member removal. Admin: everything except billing. Member: read + write vault and inbox, no admin actions.
Revoking access
Owners and admins can remove a member from the family screen. On removal, the ex-member loses all access immediately — RLS enforces this at the database level.
Resending an invite
If a recipient loses the link, resend generates a fresh token and invalidates the old one.
Expiration semantics
An unaccepted invite expires after 7 days. Expired invites remain visible for a grace period so you can resend without retyping the email.
Common issues
The most common problem is inviting an email that doesn't match the one the person actually signs in with. Fix: check with them before sending.
A worked example
A family of four in ten minutes: owner creates the family, invites the partner as admin, invites two teens as members. All four have full working access before dinner.
Under the hood
The accept flow calls a security-definer database function that binds the token to auth.uid() and inserts a member row inside a transaction. If anything fails, nothing partial gets written.