Gardience Documentation gardience.com →
Docs / Security

Security model

This page summarises the controls built into Gardience. For assessors and security reviewers, the enterprise documents go into more depth:

Self-hosted, with nothing sent out

Gardience runs on your server. The license is checked on the server with no call to the internet, and the console's fonts and API documentation assets ship inside the product, so pages load nothing from outside. It runs on air-gapped networks from an offline bundle.

Network exposure

Only these ports are published on the server:

salt-api, the Gardience service and the playbook runner listen only on the internal container network.

Of salt-api's own endpoints, only those the console needs are published. Endpoints that would let a session skip Gardience's change control (/run, /token, /hook, /jobs, /keys, /minions, /ws) stay internal. The live event stream, which carries every job's arguments and output, is published only to admins, and Gardience checks that before the connection opens.

The update cache answers under /updates/ on the console's HTTPS port only while an admin has it on. It fetches only from the official Debian, Ubuntu, Rocky, Alma and EPEL sources (never an address a request names), passes no cookies or credentials upstream, and verifies each source's certificate. Packages stay signed by their publishers and every machine checks them.

See Ports and files.

Encryption in transit

Browser protections

Every page carries a strict Content-Security-Policy (scripts only from the server or with a per-response nonce), plus X-Frame-Options: DENY, X-Content-Type-Options: nosniff, Referrer-Policy: no-referrer, cross-origin isolation headers and a restrictive Permissions-Policy.

Sign-in and sessions

See Users and roles and Single sign-on.

Least privilege and change control

API keys

See API keys and the REST API.

Audit log

Secrets vault

Secrets for states, runbooks and playbooks are encrypted at rest with AES-256-GCM. They are write-only (never shown again in the console or API), released only to nodes in the groups each secret names, and delivered through Salt pillar rather than job arguments. Every change and release is audited, without the value.

Containers

Backups, upgrades and high availability

Gardience by Bouziden Management LLC.