| A workspace has one owner and any number of invited membersC128no SAML and no SCIM: you invite people one at a time and remove them one at a time, and nothing syncs from your directory. Email addresses are unverified at signup. The operator tier is a platform role held by us, never a role assigned inside your workspace | The owner invites by email; the person accepts with their own PostMQ account, and can be removed at any time, which ends their access on their next request. A member sees the workspace’s agents, messages and audit log by default and can act in it, and everyone invited is a member — the account owner is the only human who can invite, remove, or change the workspace itself. Invitations are single-use, expire, and admit only a human whose ACCOUNT email matches the address they were sent to — note that PostMQ does not yet verify an email at signup, so that match proves the address was reachable by whoever registered it, not that it belongs to them | shipped |
| Sign-in is Microsoft Entra ID or passwordC39no SAML and no SCIM, no customer-configurable identity provider per workspace, and no workspace-level requirement that everyone use it | Entra ID (OIDC) is built and configuration-gated — the verifier reports itself configured only when both an authority and a client id are present, and the sign-in page renders no button for a provider with no verifier behind it. Password sign-in carries a TOTP second factor and single-use recovery codes | shipped with caveat |
| The break-glass lifecycle is on the chain, but withheld from your viewC127we volunteer this rather than wait to be asked; it is in the not-yet list below and on the security page, and the sentence is pinned to the code so it cannot outlive the gap | When we need to reach one of your messages, the request, the approval and the close each append a row to the tamper-evident chain, in the same transaction as the restricted operator table they also write (so a rollback drops both). But those three rows are operator-significant and withheld from your own audit view: you do not learn from your log that break-glass was opened over you — the record lives on the chain and the restricted operator tables, for the integrity sweep and the transparency log. The override they authorise IS visible to you: forcing an acknowledgement appends a row to your workspace’s own chain, so you see that an operator acted, and not which operator | shipped with caveat |
| Retention is one number for everybodyC123a custom retention window is part of the Enterprise tier description on the pricing page, not something the product can do today. Enterprise carries no history window at all, so nothing on this tier is bounded by one | Message payloads and their personal data are anonymised 30 days past acceptance unless a legal preservation hold covers the row. Thirty days is a compile-time constant, identical for every workspace — there is no per-workspace retention window to negotiate. Separately, the tier history windows on the pricing page are now read by the product: they bound how far back a read reaches, and they delete nothing | shipped with caveat |
| Getting the record out means paging the API, inside your tier history windowC123the window bounds the read, never the stored row: nothing is deleted, and a longer window brings the older rows straight back. Enterprise has no window. A scheduled export is roadmap; do not mistake GET /v1/me/export for it — that is the data-portability export for a person and carries their profile, owned workspaces and account metadata, not the work record | Every ledger — build sessions, decisions, backlog, lessons, rules, usage and the audit log — is readable over the versioned /v1 REST routes and the MCP query tools, keyset-paged, so a script can pull it this afternoon. On a tier with a history window, the chronological ledgers stop at that window, and each response says so in a history_window field rather than quietly returning less. There is no one-click ledger export and no export button in the dashboard | shipped with caveat |
| Data rights are REST onlyC43there is no dashboard page and no MCP tool for any of it | Access, portability, rectification and erasure of the account holder’s own data are self-service over REST. Erasure needs a fresh MFA step-up and, in one transaction, soft-deletes the human, freezes the workspace and destroys the salt that could re-identify them | shipped with caveat |
| One region, and no keys of your ownC45no EU option, no multi-region and no zone redundancy; no customer-managed keys and no private endpoints | Hosted in Microsoft Azure, United States, a single region: Container Apps, Azure SQL, Key Vault, Storage and Log Analytics. Secrets are held in Key Vault and read with managed identity, and the core secrets are force-resolved at boot so a missing value fails the deployment rather than your first request | shipped with caveat |
| The compliance suite is built, and it is ours to operateC41these are platform obligations we discharge — the notice and sanctions decisions under a designated-operator check, a live human session and a fresh MFA step-up; the message-level overrides they authorise present a break-glass DPoP token and carry no session of their own — they are not a console you are given | Notice-and-action for DSA Article 16 and DMCA runs end to end — public intake, an operator decision with a stated reason, counter-notice, the §512(g) court-action block and a sweep that performs the put-back; a takedown disables access on all three paths content can leave by, reversibly, which is what makes put-back restorable. Every send is screened against OFAC’s SDN list, fail-closed. Legal preservation holds pin content past every retention and purge path until an operator releases it, and the one path that destroys content with no undo ships disabled in code so each environment opts in | shipped |
| Your view of the chain shows verdicts, not hashesC131public publication is opt-in, toggled from the dashboard, and what it publishes is substantially a commitment record — one audited event type’s content plus the week’s hashes; the sealed artefact has no customer retrieval route at all today, and no verifier tool ships — your reviewer writes the script | The three workspace-facing audit-log surfaces return the rows and the integrity sweep’s per-row verdict, and deliberately carry no row hash and no previous-row hash — the read model does not hold those columns. Re-deriving a link yourself is done from the transparency artefact — and in general only from the workspace-private sealed one, which carries every row’s canonical bytes beside its hashes. The public artefact carries the bytes for only one individually audited event type and the hashes alone for every other line | shipped with caveat |