Features
What 0.0.1 holds
Companies with owners, admins and members, departments and teams; records encrypted in each member's browser and shared with exactly the people and groups named; organisation recovery an owner carries out and the member sees; a trail of every change.
Records
Encrypted in the browser, before anything is sent
Each revision of a record is sealed under a key used once and bound to its company, record, revision and key. The server keeps the sealed body in the company's own TessariDB vault and never holds a key that opens it.
| Part | What 0.0.1 does |
|---|---|
| record types | eleven built in, and types a company defines with the roles that may use each |
| fields | fifteen field types in named sections, added freely to any record |
| one-time codes | TOTP codes (RFC 6238) shown with the seconds left |
| SSH keys | Ed25519 keys generated or imported in OpenSSH's formats, with their fingerprints |
| files | encrypted in 64 KiB chunks up to 256 MiB, refused if a chunk is reordered, dropped or added |
Recovery
An owner can hand a member's keys back, and the member sees it
The unlock password is not the sign-in password, and nobody at the server can reset it. Each member's keys are escrowed to the company recovery key, which only owners hold. A member who forgot the unlock password asks with a one-time key their browser makes, reads a code to the owner, and sets a new unlock password once the owner has handed their keys back.
An admin, another company, the platform admin and the store's administrator are refused. Every read of a member's escrowed keys is shown to that member.
Sign-in
Own sign-in, an OpenID Connect issuer, or a passkey
- A password and a TOTP code, with attempts backed off per address and per network, never locking the account.
- Any OpenID Connect issuer by discovery, with PKCE,
state,nonce,issand the ID token checked. - Passkeys (Web Authentication Level 3, user verification required), used to sign in without naming an account first.
Trail
Every change, with who, what, to whom, when and why
Every admin change and every read of a sealed record is recorded in the same transaction as the act, so an act whose record cannot be written does not happen. A chain over each company's events shows where a row was altered.