Users is the protected authentication table that powers Preview identities, sign-up/sign-in modeling, currentUser, and role-based access.
Property: Fixed path · Current behavior: database/auth/users
Property: File actions · Current behavior: rename/move/duplicate/delete locked
Property: Workspace · Current behavior: shared Database Model/Data/Actions
Property: Base fields · Current behavior: Email, Password, Verified, Created, Role
Property: MCP · Current behavior: table-* tools with protected/secret validation
Property: Shipping · Current behavior: sensitive export/client authentication boundary unfinished
Email is required/unique/primary; Password is required and secret; Verified is boolean; Created is computed; Role relates to the structural Roles table. Password callers supply plaintext during sign-up, while the stored value is a hash and must never become readable.
Custom readable non-secret fields extend currentUser. Base labels may change, but protected IDs/datatypes cannot because authentication resolves them structurally.
Use table operations for allowed schema, fake records, Views/actions, and identity testing. Preview can authenticate against the in-memory model and deliberately gives the same failure for an unknown email and a wrong password.
Never include real credentials or password data in prompts, screenshots, logs, documentation fixtures, or frontend output.
The source requires Users data to stay out of frontend output, but complete exclusion is currently marked unfinished. Component authentication actions also export as a TODO instead of a complete client implementation. Treat current Users content as editor-only until these boundaries are implemented and runtime-verified.
Allowed changes use table transaction behavior. Recover an executed external auth/database effect at its actual destination, not through file undo.