SENTRADOCUMENTATION
Product specs

SENTRA Security Architecture

How SENTRA protects its keys, its licences, its updates and your data

The trust model behind the SENTRA platform: an offline root key, an encrypted licensing vault, signed licences and signing authorities, signed software releases, two-factor sign-in everywhere, least-privilege roles, tamper-evident audit ledgers, what data leaves a box, fail-open design and service hardening.

Version ATS 2.26 · NTS 0.18 · GUARD & VIEW 1.25 · Licensing 1.227 October 2026

Contents

  1. 01Summary
  2. 02Trust model and keys
  3. 03The licensing chain
  4. 04Signed software releases
  5. 05Identity and access
  6. 06Audit ledgers
  7. 07Data handling
  8. 08Resilience and fail-open design
  9. 09Service hardening and network exposure
  10. 10What customers should do

Summary

The SENTRA security architecture on one page.

SENTRA is a family of security products — SENTRA AI Threat Shield (ATS) for websites and APIs, SENTRA Network Threat Shield (NTS) for internet lines, SENTRA GUARD to run them for many customers and SENTRA VIEW to command a fleet of GUARDs — backed by two SENTRA services: the Licensing Authority (licensing.sentra-ai.com) and the release server (updates.sentra-ai.com).

The platform is built on five principles:

Principle In practice
One root of trust, kept offline A single Ed25519 root key. Its private half lives only in an encrypted, sealed vault (plus one offline recovery copy). Every product carries only the public half.
Everything that matters is signed Licences, signing-authority certificates, release keys, release lists, packages and every file in them chain back to the root key. Products verify signatures themselves; they never trust a server just because they reached it.
Least privilege and two people Roles and per-user limits everywhere; two-factor sign-in; a fresh 2FA code for sensitive actions; four-eyes approval for licences and releases.
Tamper-evident records Administrative actions are written to hash-chained audit ledgers that reveal any edit, deletion or reordering.
Protection never stops Licensing and update problems never switch protection off; inspection components fail open rather than cutting a customer's traffic.

The chapters#

  1. Trust model and keys
  2. The licensing chain
  3. Signed software releases
  4. Identity and access
  5. Audit ledgers
  6. Data handling
  7. Resilience and fail-open design
  8. Service hardening and network exposure
  9. What customers should do
Note

This document describes mechanisms, not operational secrets. It applies to ATS 2.26, NTS 0.18, GUARD & VIEW 1.25 and Licensing Authority 1.2.

Trust model and keys

The SENTRA root key, the encrypted licensing vault, and the keys derived from it.

The root key#

SENTRA has one root key (Ed25519). Its public half is built into every ATS, NTS, GUARD and VIEW. Its private half:

The root key signs: stand-alone and GUARD licences, signing-authority certificates for VIEWs and GUARDs, and the certificate of the release key. A root-key rotation is prepared in advance: products are first updated to trust the new public key alongside the old one; only then does the new key start signing.

The vault#

Layer Mechanism
Master key 256 random bits, created once, held only in memory while the vault is unsealed
Wrapping AES-256-GCM under a key derived from the vault passphrase with scrypt (N = 2^17, r = 8, p = 1: about 128 MiB of memory per guess)
Records Every record (users, customers, licences, keys, authorities, settings) encrypted with AES-256-GCM; the record's type and ID are bound in as associated data
Sub-keys Derived with HKDF-SHA256: separate keys for records, the blind index, the audit trail and its MACs
Look-ups An HMAC-SHA256 blind index: names and IDs are never stored readably, not even a customer's name
Sealing After any restart the vault is sealed; nothing can be read or signed until an authorised person enters the passphrase

Backups are copies of the encrypted files: useless without the passphrase. The passphrase is not stored anywhere on the server and cannot be recovered.

Derived keys#

Key Held by Certified by Signs
Root key The vault (+ offline copy) — OTG1 licences, OTGA1 authority certificates, the release-key certificate
Authority key A customer's VIEW or GUARD (generated there, never leaves it) The root key, with limits OTG2 licences for that customer's fleet
Release key The vault The root key (5-year certificate, limited to SENTRA's products) Each product's release list

A compromise of one VIEW's authority key lets an attacker issue keys only within that authority's limits (products, modules, counts, latest expiry), and only until the certificate ends. A compromise of the release key can be answered by rotating it: products trust the root, not the release key, so a new certified release key replaces it at once.

The licensing chain

Root-signed licences, signing authorities with limits, how products verify a licence, online check-in and revocation.

Licence formats#

Format Signed by Carries
OTG1 Root key Product, Installation ID (or any), customer, modules, start, expiry; seats and tier for a GUARD
OTGA1 Root key An authority's own public key and its limits: products, modules, counts, latest expiry, validity
OTG2 An authority's key The same as OTG1, plus the authority's certificate and ID

Every part is compact JSON with sorted keys; signatures are Ed25519 over the exact bytes. A key can be pasted anywhere and verified offline.

Signing authorities#

Customers with a VIEW fleet, or a stand-alone GUARD, receive a signing authority: their own VIEW or GUARD generates a key pair and the Licensing Authority certifies the public key with limits. The authority then licenses the systems in its fleet by itself, even when disconnected, and reports every key it issues back to the Licensing Authority — online, signed with its own key, or as a signed ledger file.

What a product verifies#

For an authority-issued (OTG2) licence a product checks, offline:

  1. the authority certificate is signed by a root key the product trusts;
  2. the licence is signed by the certified authority key, and names that authority;
  3. the authority may license this product and these modules;
  4. the licence starts within the certificate's validity and doesn't run past the authority's latest expiry.

A key that fails any check is rejected with the reason in plain words.

Online check-in and revocation#

ATS and NTS with internet access check in with the Licensing Authority about two minutes after start and every six hours. They send only: the product, the Installation ID, the host name, the software version and the IDs of the licences they hold (not the keys). The answer gives each licence's status and any renewed keys for that installation.

A revoked licence is marked revoked on the box at its next check-in and stays revoked across restarts. Check-in can be switched off on a box that must never contact the internet; that box then relies on its keys' expiry dates.

Note

Licensing never stops protection. A module without a valid licence has a 30-day grace period and then becomes restricted: protection keeps running as configured; only configuration changes for that module are blocked.

Signed software releases

How SENTRA builds, approves, signs and distributes updates, and what every system checks before installing one.

Building and approving#

What every system checks#

root key (built in)
  └─ release-key certificate (signed by the root; valid dates; allowed products)
       └─ release list (index.json, signed by the release key, checked over its exact bytes)
            └─ the package's SHA-256 and the file list's SHA-256
                 └─ every file's SHA-256

Nothing is installed unless every link checks out. SENTRA VIEW passes the signed proof down to each GUARD, which checks every file again, and each GUARD to its ATS and NTS boxes, which check again: no layer has to trust the one above it.

The release server holds no secrets#

updates.sentra-ai.com only serves signed files. Someone who controlled it, or the network path to it, could at most delay updates; they could not make any SENTRA system install code SENTRA did not approve. A second release server can therefore be added for availability without adding any trust.

Customer control#

Customer administrators decide when an offered update is installed (now, scheduled, or skipped), unless they choose automatic updates. Fleet operators can lock GUARDs and nodes to signed releases only.

Identity and access

Two-factor sign-in, step-up confirmation, roles and least privilege, sessions and lockouts across the SENTRA consoles.

Two-factor sign-in#

Console Two-factor (TOTP)
Licensing Authority Always required: set up at the first sign-in, can't be skipped; eight one-time recovery codes
SENTRA VIEW, SENTRA GUARD Available to every user; the security policy can require it for all staff
ATS and NTS Available to every user; a GUARD's policy can require it for the users it manages on its boxes

Codes follow RFC 6238 (30-second steps) and each code is accepted once.

Step-up confirmation#

In the Licensing Authority, revealing keys, downloading key bundles, approving licences and releases, managing keys, users and policy need a fresh two-factor code, valid for a few minutes, even inside a signed-in session.

Roles and least privilege#

Sessions and sign-in protection#

Audit ledgers

How SENTRA records administrative actions so that any later change to the record is visible.

Where What is recorded Protection
Licensing Authority Every sign-in (and refused attempt), key reveal, bundle download, approval, issue, revocation, authority enrolment and sync, import, key and user change, policy change, seal/unseal, release approval, publication and withdrawal Each entry AES-256-GCM encrypted and hash-chained to the previous one (SHA-256), each chain value sealed with an HMAC under a vault key; one-click verification of the whole chain
SENTRA AI Threat Shield Security decisions and administrative changes A tamper-evident ledger that can be verified and exported
SENTRA Network Threat Shield Every administrative change from the console and the command line One JSON line per entry holding the SHA-256 of the previous entry; sentra-nts audit verify checks it; secrets are never written
SENTRA VIEW Staff actions across the fleet Entries chained by hash

In a hash chain each entry includes a fingerprint of the one before it. Editing, deleting or reordering any past entry changes every fingerprint after it, so verification shows exactly where the record was altered.

What is never written to a ledger#

The Licensing Authority's trail names what was done (for example "revealed licence OTG-…"), by whom, from where and when; it never holds passwords, 2FA codes, recovery codes, licence keys or private keys. The NTS ledger likewise never writes passwords, tokens, 2FA codes or mail passwords.

Data handling

What leaves a SENTRA box, where it goes, and what stays on the customer's systems.

SENTRA products run on the customer's own servers or appliances. Traffic is inspected there; it is not sent to SENTRA.

What a box sends to SENTRA#

To When What Can be switched off
licensing.sentra-ai.com (licence check-in, ATS and NTS) ~2 minutes after start, then every 6 hours Product, Installation ID, host name, software version, the IDs of the licences it holds Yes: SENTRA_LICENSING_CHECK=0 or "licensing_check": false
updates.sentra-ai.com (stand-alone ATS and NTS, SENTRA VIEW) Every 30 minutes (VIEW: every 15 minutes when automatic, or on demand) Downloads only: the signed release list and, when an update is installed, the package Updates are installed only when an administrator decides (or chooses automatic)
licensing.sentra-ai.com (VIEW or GUARD signing authority) Enrolment, and syncs The authority's public key at enrolment; signed records of the licences it issued (licence keys, target system names, status) An offline authority uses a signed ledger file instead

No traffic content, request logs, visitor addresses, customer user accounts, passwords or configuration are sent to SENTRA by these mechanisms.

Inside a managed fleet#

Within a customer's or operator's own fleet, data flows only between their own systems:

Optional outside services#

Some features contact outside services only when an administrator switches them on, for example public threat feeds or an AI provider for the AI analyst. The ATS console states this on every page: it only contacts outside services you switch on.

Data at rest#

Resilience and fail-open design

Why licensing, updates and component failures never cut a customer's traffic.

A security product that stops traffic when it has a problem becomes the outage. SENTRA is designed so that its own failures degrade inspection, not connectivity.

SENTRA AI Threat Shield#

SENTRA Network Threat Shield#

Licensing and updates#

Service hardening and network exposure

How SENTRA's own services run with the least privilege and the smallest network exposure.

Least-privilege services#

Service Hardening
Licensing Authority Own system user without a login shell; code owned by root and read-only to the service; data folder readable only by the service; listens on 127.0.0.1 only; systemd sandbox: no capabilities, NoNewPrivileges, read-only system (ProtectSystem=strict), private /tmp and devices, kernel and control-group protection, restricted address families and namespaces, a system-call filter that forbids privileged calls, private umask, no core dumps
Release builder Its own unprivileged user; can write only its work folder; can't read the vault; runs product tests with a temporary home folder and a minimal environment; never signs
Release server Static files only, on 127.0.0.1, behind SENTRA AI Threat Shield; only the release paths answer, everything else is 404
SENTRA AI Threat Shield Runs as its own service user under systemd with NoNewPrivileges and ProtectSystem=strict, holding only the capability it needs to bind web ports

Web hardening of the Licensing Authority#

Network exposure#

Public name Served by Behind
licensing.sentra-ai.com Licensing Authority on 127.0.0.1:8640 SENTRA AI Threat Shield (TLS, inspection, automatic bans)
updates.sentra-ai.com Release server on 127.0.0.1:8641 SENTRA AI Threat Shield

Neither service is reachable directly from the internet. SENTRA's own public services are protected by the same product SENTRA sells.

What customers should do

The practical steps that keep a SENTRA deployment as secure as it is designed to be.

Accounts#

Licences#

Updates#

Operations#

Reporting a security issue#

Write to demo@sentra-ai.com. Please include the product, version and what you observed, and don't include passwords, keys or personal data.