We built SENAITY because we kept watching labs verify results they should not have.
After years of working with laboratories running SENAITE LIMS, the pattern was always the same: a single bad value slips through the verification step, gets published, and reaches a customer. The cost is never the value itself — it is the customer phone call, the recall, the lost accreditation, the investigation that follows.
SENAITY is the quality-assurance layer that catches those values before they leave the lab. It watches every analysis as it flows through SENAITE and flags the ones that do not fit your historical pattern, so your verifier sees the outlier before signing it off.

What SENAITY Does
SENAITY is not a replacement for SENAITE. It runs alongside your existing installation and gives your verifier a second pair of eyes that never gets tired.
- Anomaly QA — Isolation Forest models, trained per analysis keyword and per client on your own historical data, flag values that do not fit normal. Sensitivity is adjustable per analysis: Strict, Normal, or Sensitive. No manual thresholds to maintain.
- Sample review — a single Kanban view of every sample in flight (Due, Received, To be Verified, Verified, Published), auto-refreshing as your SENAITE state changes. Full-text search, dynamic filters on any catalog field, results in proper scientific notation with uncertainty and units.
- Side-by-side comparison — pick any two or more samples, see %RSD against adjustable thresholds, Z-score charts, distribution plots. Export the whole comparison as XLSX for documentation.

Why We Built It
SENAITE is a powerful system. It handles complex laboratory workflows, supports configurable sample types, manages instruments, and tracks every result with full audit trails. What it does not do is catch the one suspicious value among hundreds that should not be verified.
That used to be a human job — and humans are good at it, but only for the first few hours of a shift. By the end of the day, a verifier reviewing the hundredth set of results is not catching subtle drift. SENAITY catches it, every time, and surfaces it to the human who still makes the call.

How It Works
SENAITY ships as a Docker package you run on your own infrastructure, next to your existing SENAITE. Three small containers behind your existing reverse proxy, total memory footprint under 500 MB. Your lab data never leaves your network.
During install we bootstrap the anomaly model on your last 90 days of verified results, so SENAITY starts useful on day one. You sign in with your existing SENAITE credentials — no new accounts, no extra passwords. Cancel any time and every value is still in SENAITE, where it always was.
Plans and Pricing
- Community — EUR 0. Open-source, self-host. Full feature set including anomaly detection. You run it, you maintain it.
- Lab — EUR 490/month or EUR 4,900/year. Standalone Docker license for a single lab, on-premise. White-glove install, anomaly model bootstrap, and training included.
- Group — EUR 1,490/month or EUR 14,900/year. Multi-site license (three sites included, EUR 290/month per extra site), single invoice.
- Enterprise — from EUR 30,000/year. Validated environments (medical, pharma, GxP). IQ/OQ documentation, SLA, source-code escrow on request.
Pricing is per instance, not per sample or per user. Request a quote for Lab, Group, or Enterprise.
Try It
Click around on the public demo at senaity.com. You can connect it to your own SENAITE URL, or browse our synthetic dataset.
For a production install, talk to us. We are also on the SENAITE Community Forum.
Related Posts
A laboratory recently contacted us because their nightly database optimization had stopped working. SENAITE LIMS was running fine on the surface — users could log in, create samples, enter results. But under the hood, the database was growing unchecked because the scheduled pack operation was silently failing every [...]
We built SENAITY because we kept watching labs verify results they should not have. After years of working with laboratories running SENAITE LIMS, the pattern was always the same: a single bad value slips through the verification step, gets published, and reaches a customer. The cost is never [...]