The full technical account behind Om™’s security claims: written to be handed to a security reviewer, procurement team or institutional IT contact without a follow-up call.
Only your institution. Every project and audit record carries its scope — the institution, or the individual who created it — and row-level security filters every read and export to that scope. Inside a workspace the roles differ: owners and editors can change the workspace’s projects, a viewer’s write is refused by the database itself, and each member also sees their own activity. Platform administrators are the one stated exception: they can read across institutions for support and compliance work, and doing so is itself recorded.
Not silently. Administrative access to another institution’s project requires a declared reason, is recorded on the server before any content is returned, and appears in your audit trail as a vendor-access event you can read at any time.
Measurement matrices and working data stay in this browser’s device storage; the cloud record holds session settings, results tables, annotations and report text, and never measurement rows. Every store the app keeps on the device — workflow data and metadata, enrichment caches, saved project payloads — is cleared when you sign out or a different account signs in on this browser. Workspace erasure removes the workspace’s project records and clears the device that ran the erasure; other members’ browsers keep their own local copies until they sign out or switch account. Audit records are stored in the app database.
Two kinds of paths. Reference lookups send the identifiers you query — gene symbols, metabolite, lipid and taxon names, pathway IDs — from our server to the named public databases. Beyond those lookups, a named set of our own server-side paths receives data: single-cell archive parsing, Olink export parsing, proteomics differential fitting, transcriptomics permutation and lncRNA work, and the metagenomics pipelines. AI-drafted report sections are generated by the model provider from your results tables. No measurement matrix is sent as part of a lookup, and the table below states exactly what each path receives.
Authorization decides who is allowed to see a record; isolation decides whether one institution can structurally reach another\u2019s. Om™ enforces both.
| Role | What they can do |
|---|---|
| Institution Owner | Manages the workspace and its policy, invites and removes members, sets each member’s role, sees the full audit trail, can request workspace-wide erasure. |
| Institution Editor | Opens, analyses, saves and exports the workspace’s projects. |
| Institution Viewer | Reads and exports the workspace’s projects. Saving, renaming and deleting inside the workspace are refused by the server, not merely hidden in the interface. |
| Platform Administrator | Plans, pricing, module availability and account review. Accessing a customer’s project requires a declared reason and is recorded as a vendor-access event in that institution’s trail. |
| Unaffiliated user | Keeps the personal-ownership behaviour: sees and manages only records they created, until they join or create a workspace. |
Projects carry the institution identifier. Row-level security filters reads, updates and deletes to your institution, and a project can only be created inside its creator’s own institution.
The institution record owns the member list and each member’s role. The copy on the user record is reconciled server-side on every session; a browser that writes it directly is detected, recorded as a denied access event and reverted. The same record carries the single scope a member may write in, and row-level security compares each project against it: which is why a viewer cannot save into the workspace even through the API.
Annotation caches hold the identifiers people query. They are readable only within the institution that produced them (or by the individual who did), or by administrators for reference data: never across institutions.
Every record answers actor, action, target, outcome, time and source: and is written by the server, never by the browser.
Each record stores the hash of the record before it plus a SHA-256 hash of its own contents. Changing any stored field breaks the chain, and the integrity check on the audit screen reports exactly where.
Only the server writes audit records, using its service identity. The interface cannot edit or delete a record, and cannot attribute one to another account: it can only ask the server to record an event for the signed-in account, and the server resolves the actor, the institution, the category and the timestamp.
Your institution sees its own trail; each member also sees their own activity. Administrators can read across institutions for support and compliance work, and that reading is itself a recorded event.
This page states plainly where data goes. Measurement matrices stay in your device storage and never enter a project record, but reference lookups, AI-drafted sections and a named set of our own server-side paths do receive data: each named here. Reference lookups are recorded under Outbound lookups in your audit trail.
| Service | What is sent | Why | Can it be avoided |
|---|---|---|---|
| KEGG, Reactome, WikiPathways | Gene, protein, metabolite and lipid identifiers you query, with the organism | Pathway annotation and enrichment lookups | Lookups are skipped when a result is already cached for your workspace |
| HMDB, LipidMaps, ChEBI, MetaCyc/BioCyc, NCBI Taxonomy | Metabolite, lipid and taxon names or identifiers | Chemical annotation, identifier resolution and taxonomy validation | Lookups are skipped when a result is already cached for your workspace |
| UniProt, Xenbase, mygene.info, Open Targets | Protein and gene identifiers | Gene-symbol normalisation, protein annotation and disease association | Lookups are skipped when a result is already cached for your workspace |
| AI model providers (via the platform integration) | The results tables, figure text and prompts used to draft report sections: never raw measurement matrices | Drafting abstract, insights, discussion and methods text | Report text can be written manually with no AI call |
| Our servers: single-cell archive parser | The 10x archive you upload so it can be parsed server-side, held in private storage and returned through a short-lived signed link | Handles 500 MB+ archives that would exhaust the browser | Not avoidable for archive uploads; CSV/TSV matrices are parsed in the browser |
| Our servers: Olink file parsing | The NPX values and the sample/assay metadata from your Olink export | Parses and validates the panel export server-side | Not avoidable for Olink exports today |
| Our servers: proteomics differential analysis | The NPX matrix and the study design (groups, covariates) for the methods that fit on the server, with a browser fallback | Statistical fitting for large Olink panels | Not avoidable for those methods today |
| Our servers: transcriptomics permutation and lncRNA work | The ranked gene list for GSEA/SPIA permutation work, and gene-level data for the lncRNA pipeline | Heavy permutation work and transcript assembly | A browser-side engine runs the same tests locally when the worker is unavailable |
| Our servers: metagenomics pipelines | Aggregate taxonomic and functional tables with analysis parameters, plus the ASV/taxonomy tables uploaded for functional prediction, resistome screening and MAG functional annotation | Shotgun, 16S and PICRUSt2 pipeline stages | Not avoidable for those workflows |
Audit records stay in the active tier for twelve months and are then moved into the archive tier by a nightly scheduled job. Archived records remain in the trail as evidence but drop out of the default view; your audit screen has an Include archive switch when you need them.
The trail is append-only: no role can edit or delete a record through the app, and the retention job only ever changes the archive flag. That is what makes the trail usable as evidence rather than as a log that can be tidied up.
A workspace owner can erase the workspace’s data: every project record is removed, and the payloads held in device storage are cleared on the device that ran the erasure. Other members’ browsers keep their own local copies until they sign out or switch account. The audit record of the deletion stays — that record is the evidence that the deletion happened.
Nothing here is aspirational language: each row states whether the control lives in the app, is provided by the platform, is a setting an administrator must switch on, or is still on the roadmap.
| Control | Status |
|---|---|
| Institution workspaces with owner / editor / viewer roles | Implemented in app |
| Row-level tenant isolation on project records | Implemented in app |
| Append-only audit trail with hash chain | Implemented in app |
| Vendor break-glass access with declared reason | Implemented in app |
| Audit retention with archive tier | Implemented in app |
| Self-service project and workspace erasure | Implemented in app |
| Device storage cleared on sign-out or account switch | Implemented in app |
| Outbound lookup and shared-cache write auditing | Implemented in app |
| Report and figure export auditing | Implemented in app |
| Named disclosure of the server-side processing paths | Implemented in app |
| Export provenance in portable project files | Implemented in app |
| Export provenance inside report PDF/HTML output | Roadmap |
| SSRF and origin guard on outbound lookups | Implemented in app |
| Administrator gate on billing operations | Implemented in app |
| Encryption in transit | Platform-provided |
| Encryption at rest | Platform-provided |
| Secrets and key management | Platform-provided |
| Backups and disaster recovery | Platform-provided |
| Multi-factor authentication | Administrator-set |
| Workspace SSO (SAML) and SCIM provisioning | Roadmap |
| Session timeout and device/session management | Roadmap |
| IP allowlisting per workspace | Roadmap |
| Vulnerability disclosure policy | Roadmap |
| Independent penetration test | Roadmap |
| SOC 2 Type II | Roadmap |
| ISO 27001 | Roadmap |
| HIPAA Business Associate Agreement | Roadmap |
| GDPR data processing agreement | Roadmap |
Every row marked “Implemented in app” is verifiable in the code, and every row marked “Roadmap” is a control we have not shipped: they are listed rather than omitted so your review can act on the gap. Certifications such as SOC 2 and ISO 27001 are awarded by third parties and are not claimed here. If your institution needs a data processing agreement, a business associate agreement or answers to a security questionnaire, contact us and we will work through it with your compliance contact.
Sign in and open the audit trail to read every recorded access, export and administrative action for your institution: and to export it as an evidence file.