Handbook sections▾
Foundations
Understanding the threats to a Linux hostWhy we hardenThe defense principles behind every ruleEffective configuration: the truth no file holdsThe standards Pavois maps toSOCLE control ID modelEvidence & exportsHow the A-E grade is computedWhat a PASS proves: the qualified verdictTrust model for the evidence bundleIs SOCLE just your own norm? (governance & the circularity question)What Pavois covers, and what it doesn'tDomains
Hardening SSHHardening PAMMandatory Access Control (SELinux / AppArmor)Hardening the host firewallHardening sudoFile Permissions & OwnershipMount & filesystem hardeningHardening kernel modulesHardening the kernel & network with sysctlAudit logging with auditdHardening logging with journald and rsyslogHardening systemd servicesPackage hygieneHardening the bootloader (GRUB)Synchronizing timeLogin banners and MOTDControlling cron and at accessHardening the GNOME desktop (dconf)Tooling
Undo a hardening run: restore pointsOperating Pavois: privileges, air-gap, timing, exceptionsRun Pavois in CI (GitHub Actions)Feature status: delivered, partial, roadmapGovernance: licence, versioning, provenance, securityIs SOCLE just your own norm? (governance & the circularity question)
Last reviewed
Pavois calls itself the executable Linux profile of SOCLE, a norm from the same author. That looks circular. The honest answer: what SOCLE is, what it explicitly is not, and why a control's authority rests on external standards, not on SOCLE's say-so.
Let's state the objection plainly, because it is fair: Pavois conforms to SOCLE, but SOCLE is written by the same author, so the tool passes a norm built for it. A closed loop. An auditor is right to ask. Here is the answer, without spin.
What SOCLE is
SOCLE (framework-scsl) is an open, end-to-end DevSecOps norm: 16 domains, three progressive levels (R1 foundational, R2 reinforced, R3 sovereign). Crucially, it does not invent a competing standard. It is a federating profile that assembles the existing referentials (CIS, ANSSI, NIST SSDF/800-53, SLSA, OWASP, S2C2F) into one hierarchy, and fills the gaps those leave (CI runners, workstations and secrets, supplier audit, sovereign cloud, AI in the SDLC).
Pavois is one consumer of SOCLE: its executable Linux-host audit layer. A Pavois control maps onto a SOCLE requirement under the RUN (runtime) and CLD (host posture) domains, and carries its SOCLE-<DOMAIN>-<FAMILY>-<N> reference (see the control ID model).
What SOCLE explicitly is NOT
This is the part that answers the objection, and it is SOCLE's own published stance, not a Pavois excuse:
- Not a certification. SOCLE's manifesto says it in those words: not a certification nor a guarantee of compliance, an opposable, factual profile. It issues no badge, certifies no host, grants no conformity.
- Not the source of authority. Its governing principle is an explicit inversion: the norm is the reference; tools consume it, never the inverse. The requirements are not tuned so a tool can pass them.
- Not a place for invented mappings. Another stated principle: everything is anchored, no correspondence, no clause number, no regulatory date is stated from memory; each claim carries its verified, dated source.
Why the loop isn't closed
A Pavois control's credibility does not come from SOCLE agreeing with it. It comes from the external standard the control maps to (CIS Benchmark section, ANSSI BP-028 R-rule, NIST 800-53 control, PCI-DSS, DISA STIG), and those mappings are cross-validated against independent authorities (ComplianceAsCode/SSG, ansible-lockdown, ciso-assistant), not against SOCLE. SOCLE is the namespace and crosswalk model that lets one neutral control carry all of those at once; it is not the thing that makes the control right.
So the chain of trust runs outward, not inward: control, then external requirement (verified), then cross-validated. Remove SOCLE entirely and every control still stands on CIS/ANSSI/NIST. SOCLE only saves you from duplicating the control five times, once per standard.
How to challenge a mapping or a control
Governance you can act on, not just assert. Because the source of truth is open (docs/reference/rules.yml, one control per neutral id), any mapping is contestable:
- Open a GitHub issue on the Pavois repository naming the control's SOCLE id and the mapping you dispute.
- Point at the authoritative source (the CIS section, the ANSSI R-rule, the NIST control) that contradicts or refines it.
- The fix is a one-line edit to the
normsblock, re-checked bytools/validate_mappings.pyagainst the independent sources, and recorded in theCHANGELOG.
No mapping is sacred, and none is stated from memory. If an external source says otherwise, the mapping is the bug.
The honest disclosure
Yes, SOCLE and Pavois share an author (Stéphane Robert), and SOCLE is a work in progress, maintained in the open by a single maintainer today. We don't hide that; pretending otherwise would be the dishonest move. The defensible claim is narrower and testable: SOCLE is open (norm-as-code, single source, JSON-Schema-validated in CI, versioned), its mappings are anchored to dated external sources, it certifies nothing, and a Pavois grade is only ever as good as the external norm behind each control, which you can check yourself on every fiche and re-run with tools/validate_mappings.py.
Governance, concretely
- Norm-as-code. Requirements live in a single versioned source, generated artefacts downstream, schema-validated in CI.
- Versioned, with deprecation. A new threat becomes a requirement; an unprovable requirement is removed or marked. Changes are tracked in the
CHANGELOG, not silent. - Anchored mappings. Every correspondence cites a verified, dated source, the same discipline Pavois applies when it cross-validates CIS/NIST/PCI tags.
- Opposable, not certifying. SOCLE gives you a factual profile to argue from; the certifying authorities remain CIS, ANSSI, the regulators.
If that still reads as "his own norm" to you, then judge Pavois on the layer that does not depend on SOCLE at all: the external mappings and their cross-validation. That is exactly where we want the scrutiny.
FAQ
Does SOCLE (or Pavois) certify my host as compliant? No. SOCLE certifies nothing and issues no badge; it is an opposable, factual profile. The certifying authorities remain CIS, ANSSI and the regulators. Pavois reports evidence, not a certificate.
Isn't a norm by the same author circular? The control's authority comes from the external standard it maps to and the cross-validation against independent sources, not from SOCLE. Remove SOCLE and every control still stands on CIS/ANSSI/NIST.
How do I dispute a mapping I think is wrong? Open a GitHub issue with the SOCLE id and the authoritative source that contradicts it. The mapping is a one-line edit re-checked by validate_mappings and recorded in the CHANGELOG.