Private beta · IT + OT GRC

Secure. Comply. Thrive.

Complex requirements, turned into clear next steps — across IT and operational technology. Owners find their gaps, own them, and finish.

Invited admins only. Invite code or allowlisted email required.

Built with practitioners from IT and OT GRC.

omnirisk · /app
OmniRisk demo home — persona picker and ClearLedger tenant risk posture

Coverage map

One answer. Many frameworks covered.

Map a Common Control once. Linked framework requirements inherit the answer. Override a single field when the world is messier than the map.

One Common Control fans out to mapped requirements — rules and mappings, not generative grading.

Cascade · fill once

Common ControlCC-IAM-007answer onceNERC CIPinheritsNIST CSF 2.0inherits800-53inheritsCIS v8inheritsPCI DSS v4inheritsISO 27001 Ainherits
  • Fill once. Linked requirements inherit the Common Control answer until you override a field.

  • Override when needed. One messy control should not force a lie everywhere else — re-inherit when you are ready.

  • Honest catalogs. Public IDs and titles only. Not certified content. Not legal advice.

Demo pack + public-ID catalogs ship today. Versioned requirement catalogs with an audited cascade trail are Phase 0.5/1.

Import your controls

Messy spreadsheet in. Mapped controls out.

Drop a CSV or Excel file. We guess the columns. You confirm. Preview the rows. Commit to the Control Library — rules only, no mystery AI cleanup.

Heuristic map with confidence highlights. You remain the authority on every column.

omnirisk · /library/import
Excel import column mapper
  • Rules first. Mapping is deterministic heuristics — not an AI that rewrites your workbook.

  • Human confirms. Nothing commits until you say the columns are right.

  • Sample included. Try a scrambled sample sheet if you do not have a register handy.

Demo mapper ships today (first sheet, rules only). Pack template download, saved maps, and reject-with-reason export are Phase 0.5/1.

Risk assessments

Plain questions. Risk scored for you.

Dropdowns and multi-selects instead of essay boxes. Inherent risk calculates from a clear C×L matrix. Export a compact PDF stakeholders will actually open.

Short wizard steps. Architecture as a file upload — not a data-flow essay.

omnirisk · /forms/risk-assessments/new
Risk assessment intake form
  • Read-back chips. Multi-select choices echo back so you know what will print.

  • Help where it counts. The scoring matrix sits behind a ? — not a separate training deck.

  • Print stays light. Dark mode for the shell. PDF stays readable on paper.

DEMO IT RA scoring mapping only. Signed PDF storage and full document management come later.

Owners finish

Nudges that land where the work is.

Send a nudge with a deep link. The owner opens the app, signs there, and Past Due items wait in My work — not buried in another spreadsheet.

Modern HTML card + multipart .eml. Optional Resend or Gmail when configured.

omnirisk · nudge
Email nudge confirmation in the demo
  • Sign in the app. Email is a nudge with a deep link — never an approve button in the inbox.

  • HMAC deep links. Tokenized sign-off links expire. Public host needs OMNIRISK_BASE_URL off-box.

  • Outbox always. Every nudge lands as .json + .eml locally even before mail is wired.

Manual nudge + deep link ship today. Past Due auto-notify (who to email when overdue) is Phase 0.5 — not built yet.

Exceptions & AoR

Exceptions wait until someone owns them.

Exceptions and Acceptance of Risk are separate paths. Short wizards. Owner sign-off in the app — with the VP and control owner both in the loop when you nudge.

See what is open, who owns it, and what is waiting on a signature.

omnirisk · /exceptions
Exceptions register
  • Exception ≠ AoR. Different labels, different wizards — so the conversation stays honest.

  • Owner signs in-app. Deep link opens the record. The signature stays in OmniRisk.

  • Confirmations both ways. VP and control owner get a modern confirmation card after sign-off.

Admin builder

Reorder the form. Don’t rebuild the product.

Show or hide fields. Drag list widgets and form fields into the order your team expects. Edit pick lists. Save the config — without pretending this is a full canvas yet.

Drag the ⠿ handle to reorder fields on intake forms.

omnirisk · /admin/customize
Admin customize form field drag-and-drop
  • List drag-and-drop today. Reorder what is already there. No size grid. No freeform boxes.

  • Config, not a new app. Save writes to the demo config — templates you publish to the team are Phase 1.

  • Honest about the canvas. Full drag-drop canvas + publishable templates = Phase 1 (ADR-014).

Phase 0: list DnD + show/hide. Phase 1: grid canvas, resize to columns, save/publish templates.

IT + OT

Built for the plant floor and the cloud.

Energy and operational technology sit next to SaaS GRC — not as an afterthought. NERC CIP lives beside NIST CSF. The same owners finish both.

Category filters across domains your plant and your SaaS stack both care about.

omnirisk · /library
Control Library with category chips
  • One product surface. IT and OT share modules, My work, and sign-off — not a bolted-on OT portal.

  • Energy Kit label. Industry pack content stays renamable. Sticky Energy Kit work is Phase 0.5.

  • No fake OT APIs. Native OT connectors are Phase 2–3. We do not pretend they ship today.

Isolation

One company never sees another’s data.

Every tenant-owned row carries a company ID. The architecture puts isolation in Postgres row-level security — not just a filter in the UI. The twin-tenant demo lets you feel the contrast today.

Low-risk SaaS posture — SSO/MFA/SIEM looking healthy. Same product, different tenant file.

omnirisk · ClearLedger
ClearLedger low-risk dashboard
  • tenant_id on every row. The schema is portable to any Postgres — Neon today, Supabase later if we choose.

  • RLS at the database. Planned enforcement: you only see rows for your company. A UI bug should not leak.

  • Demo is honest. ClearLedger vs PayFlux is fake multi-tenant for UX. Real seats + RLS = Phase 0.5.

Architecture per ADR-033. No SOC 2 or isolation certification claimed. Shared DB / separate rows is the default; dedicated DB is a future premium tier.

Data boundaries

Isolated per company. Clear about what is live.

We would rather label the roadmap than invent a certification. Here is what is true today, and what is architecture we are building toward.

Isolated per company

  • Every control, risk, and upload tagged with a tenant ID.
  • Postgres row-level security is the target enforcer — not a UI-only filter (ADR-033 / ADR-004).
  • Uploads use per-tenant prefixes with matching storage policies (Phase 1 path).
  • Twin-tenant demo (ClearLedger / PayFlux) proves the UX contrast today.

Only when you choose

  • Public landing is open. The demo stays behind invite-only admin signup.
  • Outbound mail is optional — outbox files always; Resend/Gmail only when configured.
  • No AI grading of controls. Rules and mappings stay readable.
  • We do not claim SOC 2 or isolation certifications we have not earned.

And a whole lot more.

Small touches that make the daily loop less painful — without padding the page with fake metrics.

  • Past Due tray

    Overdue and awaiting-sign-off items surface in one place.

  • Evidence follow-ups

    Due dates and owners stay visible until someone closes them.

  • Persona trays

    Analyst, Owner, Auditor, and VP each see their lane.

Questions & answers.

Something else on your mind? Get in touch.

Invited admins only. You need a matching invite code or an allowlisted email. Everyone else sees the public landing and can request access.

No. OmniRisk is a workflow product for GRC owners. Framework catalogs ship public IDs and titles with provenance — not paid standard-body clause text. Not legal advice. Not an auditor.

Architecture is shared Postgres with a tenant_id on every row and row-level security at the database (ADR-033). The live demo shows ClearLedger vs PayFlux as UX contrast. Real RLS seats are still on the Phase 0.5 spine — we do not claim certifications.

No. Cascade, scoring, and import mapping are rules and mappings you can read. Optional AI for mapping suggestions only is a later idea — a human always confirms.

You can show/hide fields, reorder list widgets and form fields with drag-and-drop, and edit pick lists. A full Squarespace-style canvas with publishable templates is Phase 1 — we say so on the page.

Admin accounts persist in Neon. Demo tenant registers currently seed per serverless instance, so module edits reset on cold start. Durable demo data lands with the real backend.

Ready when you are.

Invited admins sign in and land on the demo. Everyone else — talk to us about access.