SOPHIA XT

Security review

What goes where, what is kept, and who can read it.

Written for the reviewer filling in a vendor questionnaire. It describes the system as it runs today; items not live yet are marked Available after launch. The public summary is on the security page and the privacy notice.

Architecture

Safe-Desk architecture Staff computers send text to the Safe-Desk server, which returns placeholders and a sealed vault. Only placeholders go on to AI chat sites and to the AI routing service. Values come back only to the staff member who sent them. STAFF COMPUTER SAFE-DESK (desk.sophiaxt.com) OUTSIDE SERVICES Browser extension Chrome and Edge Windows app after launch Staff's own AI app with the connector Safe-Desk web app chat, files, owner view Gate firm rules, placeholders Sealed vault opened for one request Files, documents encrypted, 7 days Owner log labels only, 400 days Activity trail encrypted, 400 days AI chat sites ChatGPT, Claude, others AI routing service then Anthropic, OpenAI or Inception Stripe, ntfy billing, alerts, no values placeholders only, straight from the browser Cyan: placeholder text and sealed data. Green: real values, only back to the person who sent them. Dashed: outside Safe-Desk, or not live yet.
Every arrow is HTTPS. The AI routing service is used only for the chat inside Safe-Desk; the extension sends placeholder text to the AI site directly from the browser.

Data flow for one message

  1. A staff member pastes or sends text on a protected AI site. The extension sends it to the gate over HTTPS, with the device credential and the conversation's sealed vault.
  2. The gate runs the firm's industry template, names settings, topics and client list. Identifiers with checksums (cards, routing numbers, IBANs, VINs) count only when the checksum holds.
  3. Caught values become placeholders such as [SSN_1]. Passwords, keys and privileged material stop the message outright. Anything set to Flag goes as written and is reported to the owner.
  4. The gate returns the placeholder text and the updated vault, sealed. The extension puts the placeholder text in the chat box, and the AI site receives only that.
  5. When the answer comes back with placeholders, the extension asks the gate to restore them for display. The real values are shown only by Safe-Desk's own display, inside a closed shadow root the site's scripts can't read; the chat page itself keeps the placeholders.
  6. The owner's log gets one line: who, when, the outcome, which site, and the names of the rules that fired. Never the text, never a value.

The same gate serves the extension, the Safe-Desk chat, the connector and the Gate API.

What is stored, and for how long

DataKept
Chat messages, AI answers, and the values caught in themNever stored
The swap table (vault)Never stored on the server. It travels sealed with the conversation: in the extension's session storage, which the browser clears when it closes, or with the API caller
Files uploaded for the connector: protected text and sealed values, never the original file7 days, or until the person deletes them
Documents finished through the connector7 days, encrypted, visible only to the person who made them
Owner's log (who, when, outcome, rule names)400 days
Activity trail (sign-ins, staff, settings, keys, billing)400 days
Client listOnly as one-way keyed hashes, until the owner replaces it
Accounts: names, work emails (encrypted), password hashesWhile the account exists
Browser and API credentialsOnly their hashes, until revoked
Connected AI appsName, return address, when connected and last used; up to 30 days after the connection ends
Error records, scrubbed of client data90 days after last seen
Usage counts and hosted AI cost per monthFor billing, while the account exists
The firm's own AI key, if the owner adds oneUntil removed; encrypted, only the last four characters shown
Daily backups of the database, encrypted whole14 days. Deleted files and documents are gone from backups within 14 days
Card detailsNever; Stripe holds them

Retention runs when the server starts and then daily; expired files and documents are purged every hour and are never served once expired.

Encryption

Firm isolation

Audit trail

Sign-ins and failed sign-ins, staff changes, template and mode changes, API key and device changes, connected apps and billing changes are appended to the firm's Activity tab, which the owner reads. The actor and details are encrypted, and details are scrubbed of secrets before they are written. The application only ever appends to it.

Available after launch A tamper-evident chain over the owner's log and the activity trail. Each entry gets a sequence number and a SHA-256 hash over the previous hash and the stored row, sealed fields included as ciphertext, so checking the chain needs no key. A changed row breaks its link; a deleted row leaves a gap; removing the newest rows is caught by a keyed head record and daily anchors. The owner can verify the chain on demand, and the monthly report prints the head hash so the firm holds a copy nobody at the server can change.

Subprocessors

ServicePurposeWhat it receives
HostingerHostingThe application and its database
An AI routing serviceThe chat inside Safe-Desk, when a firm uses Safe-Desk's hosted modelsMessage text with caught values already replaced by placeholders (Flag items as written), passed to the model the firm picks. Under SOPHIA XT's account
Anthropic, OpenAI, InceptionThe model behind that chat, by the firm's choice; or Anthropic or OpenAI directly when the owner adds the firm's own keyThe same placeholder text. Inception (Mercury) also receives topic names when an owner asks it to suggest phrases
StripeBillingThe owner's name, email, billing address and card, seat count, and hosted AI cost in cents. Never message text or a value
ntfy.shPhone alerts when the owner turns them on, and our own error alertsFirm name, staff name and rule names; a private topic appears by number, not name. Error alerts are scrubbed. Never a value
The push service of the owner's browser maker Available after launchPhone and browser alerts without a third-party appThe same alert line as ntfy, encrypted to the owner's device key (RFC 8291) so the push service can't read it. Only owners can subscribe

The AI chat sites staff use through the extension (ChatGPT, Claude and the rest) are the firm's own tools under the firm's own terms. They receive only the placeholder version of what staff paste or send.

Not done yet

Incident and security contact

Email contactus@sophiaxt.com with "Security" in the subject, for a suspected incident, a vulnerability report, or a questionnaire. We read every report and take no action against good-faith research.