Users Schema
Platform users — anonymous per browser until sign-in, then verified — who own, author or sign documents
Purpose
- Supports login and verification.
- Separates platform identity from document facts stored in
data_poolmodules. - Allows signing and authoring permissions without overloading document data.
- Before sign-in, each browser has one anonymous user: no
email, itsbrowserClientIdrecorded, minted the first time that browser creates a folio and reused after (GB-309). It holds theownerrows infolioUsersfor what that browser created. - A user is not the same as a document party. A party, willmaker, executor, attorney, or client is ordinary document data unless that person also authenticates as a platform user.
Relationships
- A
usersrow holds roles on Folios throughfolioUsers, and is named infolios.ownerfor the folios it created. - A
usersrow owns manyauthSessionsover time, each tied to one unifieddocumentsrow once the drafting session has selected or created a document. authStatustransitions are driven by the auth module during the interview — see Auth Flow. A user is verified once and then recognized on subsequent sessions byemailorphone.- Party facts do not live on
users. They live in a document'sdata_poolmodule and may describe the authenticated user, another client, or any other person or organisation named in the document.
Fields
Prop
Type
Example document
An anonymous user, before sign-in:
{
"key": "user_01k5z3m8q2x7c9v4b6n1p0r2st",
"browserClientId": "browser_9f2c…"
}A verified user:
{
"key": "user_01HV8XQZK4J9R9W3M6T4M2RUS1",
"email": "jane.smith@example.com",
"phone": "+61400000000",
"authStatus": "verified",
"signingKeyReference": "keys/user_01HV8XQZK4J9R9W3M6T4M2RUS1/signing.pub"
}