Skip to content

What sealfix protects

Edition: Community and Enterprise

Every security tool has a boundary. This page states sealfix's plainly, so you know what it guarantees and what remains yours to secure.

flowchart TB
    subgraph P["Protected by sealfix"]
      direction LR
      a["Values hidden from DBAs,<br/>tickets and e-mails"]
      b["No single-person<br/>production change"]
      c["No over-wide change"]
      d["Every change<br/>reversible"]
      e["No edited<br/>audit trail"]
      f["No swapped values<br/>after approval"]
    end
    subgraph Y["Yours to secure"]
      direction LR
      g["DBAs with SYSDBA or<br/>sysadmin on the target"]
      h["Bind values the target<br/>database records itself"]
      i["Root on the<br/>executor host"]
    end
    classDef ok fill:#E9EEF6,stroke:#23407A,color:#13202D
    classDef you fill:#F6E8EB,stroke:#7D1D2F,color:#13202D
    class a,b,c,d,e,f ok
    class g,h,i you

What it protects

Threat How sealfix stops it
A customer's data in a ticket, e-mail or chat Values are sealed on arrival; nobody around the change sees them
A DBA reading the values while reviewing The DBA's view has no values, not even masked
One person changing production alone Two approvals by different people, never the requester
A fix that touches far more rows than intended The dry run counts rows; the execution rolls back if the count differs or exceeds the limit
A change that cannot be undone Sealed before-images and a governed rollback
Someone editing the trail afterwards Append-only by database grants, hash chain, signed checkpoints
Values or SQL swapped after approval Every approval binds a digest of the template, the values, the target and the assessment
A stolen session approving a fix Signed approvals with the approver's passkey, and a fresh passkey check before approving

What it does not protect, and what to do

Boundary Why sealfix cannot cover it What you do
A DBA with SYSDBA or sysadmin on the target They can read the tables directly, outside sealfix Limit those accounts; audit their use on the database
Bind values the target records itself Statement logs, bind capture and traces sit inside the database Harden the target (Targets); the connection test points these out
Root on the executor host The executor holds the private key in memory Harden the host, or keep the keys in an HSM (Enterprise)
A compromised web application with its database credentials It could add requests and approvals of its own Signed approvals make such approvals fail at the executor

How it is checked

  • Tests for every invariant. Each guarantee above has tests that fail if it breaks, including a test that plants a value and looks for it in every log, response and error.
  • Architecture tests. The rules about which code may depend on which are themselves tested.
  • Static analysis and dependency scanning on every change.
  • Signed releases with a software bill of materials.