Control template catalog
Paste-in CALM control snippets for the most common compliance frameworks. Each template carries the requirement schemas and config shapes that ArchRails’ deterministic constraint engine evaluates at PR time. Drop the snippets onto the nodes the framework applies to, fill in your config, open a PR — the engine validates the rest.
v0.1.0-beta.
See each template for its current version. ArchRails is not a QSA, auditor, DPA,
NCA, or NYDFS-recognised advisor — the authoritative regulations govern where
the template and the regulation diverge.
Frameworks
-
GDPR Article 32
EU personal-data security.
gdpr/v1.0.0 -
SOC 2 Type II
AICPA Trust Services Criteria.
soc2-type-ii/v1.0.0 -
PCI DSS v4.0
Cardholder data environment.
pci-dss-v4/v1.0.0 -
HIPAA Security Rule
US ePHI Technical + Administrative Safeguards.
hipaa-security-rule/v1.0.0 -
NIST CSF 2.0
Cybersecurity Framework — Protect + Detect.
nist-csf-2/v1.0.0 -
ISO/IEC 27001:2022
Annex A.8 Technological controls.
iso-27001-2022/v1.0.0 -
MiFID II / RTS 22
Trade reporting + clock sync.
mifid-ii/v1.0.0 -
NYDFS 23 NYCRR Part 500
NY licensed financial entities.
nydfs-part-500/v1.0.0
Single controls
Standalone control templates for narrow, common requirements that don’t need a whole framework attached.
How to use these
-
Open the framework page and find the control you want to enforce
(each is identified by a
control-idlikegdpr-access-restrictionorsoc2-cc6.1-iam). - Copy the JSON snippet directly under the “Control snippets” heading on that page.
-
Paste it into the
controlsobject on thenode,relationship, orflowthe framework applies to in your*.calm.json. The Controls lesson covers the attach-point mechanics. -
Fill in the
configblock with your environment’s actual values (or setconfig-urlto point at a config document you maintain). The schema atrequirement-urlis what validates these. -
Open the CALM-edit PR. ArchRails runs
calm validateon the schema shape. Subsequent code PRs against any file mapped to that node will trip the constraint engine, which evaluates yourconfigagainst the requirement schema deterministically. Failures surface asAR-CTRL-001findings with the customer’s owncontrol-idon the wire.
Which framework goes on which node?
There’s no algorithmic answer. The customer reads the regulation, the template’s applicability section, and decides the scope. Common patterns:
| Framework | Typical scope |
|---|---|
| PCI DSS v4 | Cardholder data environment (CDE) nodes only. |
| GDPR Art. 32 | Any service touching EU personal data — usually most user-facing nodes. |
| HIPAA Security Rule | ePHI-touching services + databases. |
| MiFID II / RTS 22 | Trade execution, transaction-reporting, clock-sync nodes. |
| SOC 2 TSC | Per the chosen trust services criteria (Security mandatory; Availability / Confidentiality optional). |
| NIST CSF 2.0 | Org-wide; typically all nodes get Protect (PR) + Detect (DE) controls. |
| ISO 27001 / Annex A | Org-wide; typically all nodes get A.8 Technological controls. |
| NYDFS Part 500 | NY-licensed financial entities — all information systems. |
A single node in a regulated financial-services environment can legitimately end up with controls from 5+ frameworks. That’s normal — the constraint engine runs every attached control independently.