create-filegrc 0.6.5 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/package.json +1 -1
- package/src/defaults.js +128 -145
- package/src/index.js +12 -11
- package/template/AGENTS.md +17 -6
- package/template/README.md +14 -6
- package/template/WORKSPACE.md +2 -0
- package/template/data/AGENTS.md +12 -7
- package/template/data/appointments/appointment-policy-owner.json +1 -1
- package/template/data/audits/AGENTS.md +10 -0
- package/template/data/documents/AGENTS.md +11 -0
- package/template/data/documents/document-data-retention-schedule.json +1 -1
- package/template/data/documents/document-data-retention-schedule.md +7 -9
- package/template/data/documents/{document-incident-response-plan.json → document-security-incident-recovery-plan.json} +5 -6
- package/template/data/documents/document-security-incident-recovery-plan.md +79 -0
- package/template/data/documents/document-soc2-management-assertion.md +7 -7
- package/template/data/documents/document-soc2-management-representation.md +1 -1
- package/template/data/documents/document-soc2-period-completeness.md +4 -4
- package/template/data/documents/document-soc2-system-description.md +4 -4
- package/template/data/evidence/AGENTS.md +1 -1
- package/template/data/obligations/AGENTS.md +2 -1
- package/template/data/policies/AGENTS.md +22 -8
- package/template/data/policies/policy-information-security.json +2 -9
- package/template/data/policies/policy-information-security.md +205 -148
- package/template/data/training/training-security-awareness.json +1 -4
- package/template/data/training/training-security-awareness.md +20 -6
- package/template/package.json +1 -1
- package/template/data/documents/document-business-continuity-disaster-recovery.json +0 -29
- package/template/data/documents/document-business-continuity-disaster-recovery.md +0 -192
- package/template/data/documents/document-contractor-policy-acknowledgement.json +0 -20
- package/template/data/documents/document-contractor-policy-acknowledgement.md +0 -24
- package/template/data/documents/document-contractor-training-acknowledgement.json +0 -23
- package/template/data/documents/document-contractor-training-acknowledgement.md +0 -20
- package/template/data/documents/document-employee-handbook-acknowledgement.json +0 -20
- package/template/data/documents/document-employee-handbook-acknowledgement.md +0 -19
- package/template/data/documents/document-employee-policy-acknowledgement.json +0 -20
- package/template/data/documents/document-employee-policy-acknowledgement.md +0 -24
- package/template/data/documents/document-employee-training-acknowledgement.json +0 -23
- package/template/data/documents/document-employee-training-acknowledgement.md +0 -20
- package/template/data/documents/document-incident-response-plan.md +0 -138
- package/template/data/policies/policy-anti-bribery-corruption.json +0 -19
- package/template/data/policies/policy-anti-bribery-corruption.md +0 -87
- package/template/data/policies/policy-clear-desk-screen.json +0 -18
- package/template/data/policies/policy-clear-desk-screen.md +0 -49
- package/template/data/policies/policy-data-protection-handling.json +0 -22
- package/template/data/policies/policy-data-protection-handling.md +0 -130
- package/template/data/policies/policy-employee-handbook.json +0 -21
- package/template/data/policies/policy-employee-handbook.md +0 -161
- package/template/data/policies/policy-mobile-computing-communications.json +0 -18
- package/template/data/policies/policy-mobile-computing-communications.md +0 -74
- package/template/data/training/training-anti-bribery-high-risk-roles.json +0 -16
- package/template/data/training/training-anti-bribery-high-risk-roles.md +0 -19
- package/template/data/training/training-privileged-sensitive-roles.json +0 -20
- package/template/data/training/training-privileged-sensitive-roles.md +0 -20
- package/template/data/training/training-secure-development.json +0 -19
- package/template/data/training/training-secure-development.md +0 -22
package/src/index.js
CHANGED
|
@@ -440,7 +440,7 @@ The generated workspace starts with foundational program records:
|
|
|
440
440
|
|
|
441
441
|
- Workspace and renderer settings
|
|
442
442
|
- The initial active owner
|
|
443
|
-
- The two core Appointment records: an active Policy Owner plus a planned Independent Policy Reviewer assignment. Create another Appointment only when
|
|
443
|
+
- The two core Appointment records: an active Policy Owner plus a planned Independent Policy Reviewer assignment. Create another Appointment only when the company actually delegates a named responsibility.
|
|
444
444
|
- A planned security and risk oversight team that still needs an independent chair
|
|
445
445
|
- The filegrc Git repository as a governance system of record
|
|
446
446
|
- A default 5x5 risk method and Public, Internal, Confidential, and Restricted data classifications
|
|
@@ -469,23 +469,24 @@ The generated workspace starts with the SOC 2 Security category:
|
|
|
469
469
|
- Active framework records for the 2017 Trust Services Criteria with revised points of focus (2022) and the 2018 SOC 2 Description Criteria with revised implementation guidance (2022)
|
|
470
470
|
- The 33 Common Criteria reference IDs from CC1.1 through CC9.2, without the licensed criteria text
|
|
471
471
|
- The nine Description Criteria reference IDs from DC1 through DC9, without the licensed criteria text
|
|
472
|
-
- Planned controls mapped to those references and
|
|
473
|
-
- The two core Appointment records. Policy Owner starts active; Independent Policy Reviewer remains Ready until assigned.
|
|
472
|
+
- Planned controls mapped to those references and one required Information Security Policy
|
|
473
|
+
- The two core Appointment records. Policy Owner starts active; Independent Policy Reviewer remains Ready until assigned. The Policy Owner coordinates incident, recovery, executive, communications, audit, insurance, privacy, and legal input unless the company delegates a function through a custom Appointment. FileGRC does not require in-house counsel or a standing legal retainer.
|
|
474
474
|
- A security and risk oversight team chaired by an independent reviewer who may be internal or external
|
|
475
|
-
-
|
|
475
|
+
- One Security Awareness Training record and proposed recurring obligations for reviews, scans, tests, training, and meetings
|
|
476
|
+
- One combined Security Incident and Recovery Plan plus a focused Data Retention Schedule
|
|
476
477
|
- A default 5x5 risk method and Public, Internal, Confidential, and Restricted data classifications
|
|
477
478
|
|
|
478
|
-
Treat every planned
|
|
479
|
+
Treat every planned Control as a proposal until its owner, actual procedure in Record Markdown, System scope, cadence, authoritative evidence sources, implementation date, and mappings match actual practice. FileGRC does not infer implementation from Policy prose. Enable the applicable Work Queue schedules during implementation; they remain dormant until the Policy is active and effective. Add Availability, Processing Integrity, Confidentiality, Privacy, employment, anti-bribery, or other broader GRC records only when the company chooses to expand the scope.
|
|
479
480
|
|
|
480
|
-
The recurring
|
|
481
|
+
The recurring Obligations contain reviewable starter defaults. They remain proposed until the company confirms their scope, owner, cadence, and proof. Enabling a schedule accepts those operational facts but does not start occurrences until the Information Security Policy is active and effective. Create separate completion records, such as meetings, reviews, scans, tests, exercises, and attestations, for each period.`,
|
|
481
482
|
audit_preparation_guidance: "Preparation creates a separate system description, management assertion, and management representation document for the engagement from the local starter templates. Type 2 preparation also creates a period completeness statement and one `audit-population` record for each standard population. It is safe to run again and does not approve documents, mark controls implemented, or create evidence. Do not reuse one completed management document across engagements.",
|
|
482
483
|
starter_setup: `## Finish initial setup
|
|
483
484
|
|
|
484
|
-
The starter
|
|
485
|
+
The starter Policy, Controls, plan, schedule, training, and Obligations are proposals. They do not state that ${companyName} operates the described Controls.
|
|
485
486
|
|
|
486
487
|
1. Run \`npx filegrc setup\` for guided service and goal setup, or use browser onboarding. Then finish Step 1 by adding the real reviewers and operators, finishing the oversight team, and confirming applicable criteria, commitments, material vendors, and in-scope systems.
|
|
487
|
-
2.
|
|
488
|
-
3. Review the starter
|
|
488
|
+
2. Tailor the Information Security Policy and have someone other than its owner approve it. Approval accepts the Policy but does not mean the Controls are implemented.
|
|
489
|
+
3. Review the starter Control set, combined Security Incident and Recovery Plan, Data Retention Schedule, Security Awareness Training, and proposed Obligations. Implement each applicable Control with its actual procedure, scope, cadence, Components, and authoritative evidence sources. Enable the applicable schedules, review the Policy activation assessment, then activate the Policy at the real implementation cutover.
|
|
489
490
|
4. Run \`npx filegrc program-readiness --require-ready\`, record the management candidate period start when reliable evidence collection begins, maintain risk assessments and risks, update controls when needed, use Work Queue for scheduled work, and trigger Policy Events when changes create required actions.
|
|
490
491
|
5. Engage a CPA firm, record the separate firm-agreed period in an audit record, review filegrc Evidence and External Evidence, and prepare fieldwork.`
|
|
491
492
|
};
|
|
@@ -522,13 +523,13 @@ async function runCombinedSetup(target, input) {
|
|
|
522
523
|
async function writeMinimalLockfile(target, name, versionRange) {
|
|
523
524
|
const lock = {
|
|
524
525
|
name,
|
|
525
|
-
version: "0.
|
|
526
|
+
version: "0.7.1",
|
|
526
527
|
lockfileVersion: 3,
|
|
527
528
|
requires: true,
|
|
528
529
|
packages: {
|
|
529
530
|
"": {
|
|
530
531
|
name,
|
|
531
|
-
version: "0.
|
|
532
|
+
version: "0.7.1",
|
|
532
533
|
dependencies: { filegrc: versionRange }
|
|
533
534
|
}
|
|
534
535
|
}
|
package/template/AGENTS.md
CHANGED
|
@@ -49,7 +49,7 @@ Read `data/AGENTS.md` before changing records. More specific instructions inside
|
|
|
49
49
|
- Put policies, plans, charters, procedures, meeting minutes, training, assertions, narratives, templates, and audit responses in Markdown beside their JSON records. filegrc derives the Markdown name, so records do not contain file paths.
|
|
50
50
|
- Put signed forms, screenshots, third-party reports, and immutable exports behind evidence records. These files may be PDF, image, CSV, or another fixed format.
|
|
51
51
|
- Never fetch an external evidence reference automatically.
|
|
52
|
-
- Do not store
|
|
52
|
+
- Do not store plaintext credentials, private keys, tokens, recovery codes, session data, or personal data that may need to be erased from Git history. Source-controlled ciphertext is allowed only under the Information Security Policy's approved encryption, separate-key, access, and rotation conditions.
|
|
53
53
|
- Keep the editable local server on loopback or behind trusted authentication. Use the read-only static build for audit sharing.
|
|
54
54
|
|
|
55
55
|
## Source truth and derived workflow
|
|
@@ -206,9 +206,14 @@ npx filegrc program-readiness --require-ready --summary --json
|
|
|
206
206
|
The Evidence Ready gate requires:
|
|
207
207
|
|
|
208
208
|
1. A management goal, selected systems, criteria, and controls.
|
|
209
|
-
2.
|
|
210
|
-
3. Implemented Controls with an owner, actual procedure, scope, operation pattern, mappings, implementation date, and every required linked Work Queue schedule
|
|
211
|
-
4. Every selected Control mapped to active authoritative
|
|
209
|
+
2. Policy content approved by someone other than its owner in Step 2, followed by active Policies with real effective dates at the Step 3 cutover.
|
|
210
|
+
3. Implemented Controls with an owner, actual procedure, scope, operation pattern, mappings, implementation date, and every required linked Work Queue schedule enabled.
|
|
211
|
+
4. Every selected Control mapped to active authoritative Components with the required evidence source roles, current access owners, and repeatable extraction instructions in Record Markdown.
|
|
212
|
+
5. Required governed plans complete and active, with no unresolved activation blockers.
|
|
213
|
+
|
|
214
|
+
A Policy says what the company commits to do by the date it takes effect. Approval means the company accepts those commitments. It does not prove the work is done. Controls and operating records describe how the company meets them and provide the proof. A Control may be implemented against an approved inactive Policy, and enabled Obligations remain dormant until that Policy is active and effective.
|
|
215
|
+
|
|
216
|
+
Review `policyActivations` in Program Readiness before cutover. It shows planned or partial Controls, missing Components or evidence sources, missing schedules, unresolved Exceptions, and dates that need attention. At the end of Step 3, use the Controls-page review or `npx filegrc activate-policies --scaffold` to choose which approved Policies take effect. You can activate with a documented gap or approved Exception, but Evidence Readiness remains incomplete until every required Policy is active and operating. FileGRC does not infer technical implementation from Policy prose. Put configuration facts in Controls, Components, Systems, governed schedules, and Evidence.
|
|
212
217
|
|
|
213
218
|
Onboarding does not create Evidence Artifacts. Complete authoritative source Components as part of Control implementation. For every incomplete family in Program Readiness, update the Control with its authoritative `evidenceSourceComponentIds`, then give each source Component the required evidence role, current access owners, and repeatable retrieval instructions in Record Markdown. Use `npx filegrc evidence-map --json` when you want only those source checks. During Step 4, create an Evidence Artifact only when a real artifact exists. Select its `sourceComponentId`, attach or reference the result, link the Controls and operating record it supports, record its collector and Classification, then have another person verify it before audit use.
|
|
214
219
|
|
|
@@ -228,7 +233,11 @@ npx filegrc audit-readiness audit-2026-type-2
|
|
|
228
233
|
npx filegrc audit-readiness audit-2026-type-2 --require-ready --json
|
|
229
234
|
```
|
|
230
235
|
|
|
231
|
-
The audit record’s `
|
|
236
|
+
The audit record’s `coverage` object stores the dates agreed with the CPA firm. Use `{ "kind": "as-of", "on": "YYYY-MM-DD" }` for Type 1 or `{ "kind": "range", "startsOn": "YYYY-MM-DD", "endsOn": "YYYY-MM-DD" }` for Type 2. Keep the Program candidate coverage even when the formal date or period differs.
|
|
237
|
+
|
|
238
|
+
After reviewing the engagement's Program, Systems, criteria, Controls, commitments, subservices, complementary controls, and signatories, record the reviewed Git commit in `scopeRevision`. Update that value only after another complete scope review.
|
|
239
|
+
|
|
240
|
+
Select a framework containing the complete CC1.1 through CC9.2 Security Common Criteria set, all nine SOC 2 Description Criteria, and any optional Trust Services Categories in scope. Treat every Security Common Criterion as applicable and include Controls that cover every applicable selected Trust Services criterion. For an included optional category, keep a criterion in the framework when management judges it not relevant and record the limited circumstances under DC8. Do not omit a Description Criterion. Record whether subservice organizations are identified in `subserviceConclusion` and explain the decision. If they are identified, use `subserviceTreatments` to connect each Vendor to its supplied Components inside a selected System and record the carve-out or inclusive method and rationale. An inclusive treatment also requires selected Controls linked to those Components.
|
|
232
241
|
|
|
233
242
|
{{audit_preparation_guidance}}
|
|
234
243
|
|
|
@@ -239,7 +248,9 @@ Review both evidence paths against the exact firm-agreed date or period:
|
|
|
239
248
|
|
|
240
249
|
Audit Readiness reports coverage for both paths. The packet includes the matching filegrc records and Markdown with Git history, plus Evidence Artifacts, retained attachments, delivery indexes, and checksums.
|
|
241
250
|
|
|
242
|
-
Near the end of fieldwork, link a verified fixed-format copy of the signed management representation letter to its engagement-specific document.
|
|
251
|
+
Near the end of fieldwork, link a verified fixed-format copy of the signed management representation letter to its engagement-specific document. Record the actual signing timestamp in the Evidence `businessEventAt` field. It must be on or after the Type 1 date or Type 2 period end and must match the CPA report date once `reportDate` is known. A representation that is still marked for later blocks packet delivery.
|
|
252
|
+
|
|
253
|
+
When the CPA firm issues the report, retain it as verified `third-party-report` Evidence with `artifactSubtype: "soc2-report"` and link that exact Evidence record through `reportEvidenceId`. A draft, screenshot, unrelated business record, or unverified file does not establish report issuance.
|
|
243
254
|
|
|
244
255
|
Catalog each authoritative source as a Component and assign its `evidenceSourceKinds`. A third-party application is a Component when it supports a bounded System, a Control, Evidence, or relevant operations. Create a separate Vendor for its provider and connect the Component through `vendorId`; keep contracts, due diligence, and supplier risk on the Vendor. Name the people who can access reports and keep extraction instructions in the Component's Record Markdown. For each Type 2 population, select one source Component and export the exact audit period. Split a population when different Components or queries produce its items. Link a verified `population-export` Evidence Artifact that names the same source Component and stores the query or report parameters, generation time, timezone, count, completeness check, and accuracy check. A zero count still requires the source export and query. A population linked to an in-scope Control cannot be marked not applicable.
|
|
245
256
|
|
package/template/README.md
CHANGED
|
@@ -40,12 +40,16 @@ Detached and feature-branch checkouts are read-only in the browser by default. D
|
|
|
40
40
|

|
|
41
41
|
|
|
42
42
|
1. **Define scope.** Set program ownership, choose the criteria, and define the service, Systems, and providers in scope.
|
|
43
|
-
2. **Approve policies.**
|
|
44
|
-
3. **Implement controls.** Define how each
|
|
43
|
+
2. **Approve policies.** Tailor the Policy, then have someone other than its owner approve the exact content. Approval does not mean the linked Controls are implemented.
|
|
44
|
+
3. **Implement controls.** Define how each Control works, where its Evidence comes from, enable its schedules, and complete governed plans. Then review the approved Policies together and activate the selected cutover set.
|
|
45
45
|
4. **Operate the program.** Run scheduled and event-driven work, maintain risk, and retain dated evidence.
|
|
46
46
|
5. **Audit.** Set up the CPA engagement, support fieldwork, and prepare the evidence packet.
|
|
47
47
|
|
|
48
|
-
|
|
48
|
+
A Policy says what the company commits to do by the date it takes effect. Approval means the company accepts those commitments. It does not prove the work is done. Controls and operating records describe how the company meets them and provide the proof.
|
|
49
|
+
|
|
50
|
+
FileGRC does not infer technical implementation from Policy prose. Configuration facts belong in Controls, Components, Systems, governed schedules, and Evidence. A Control may be implemented while its governing Policy is approved but inactive. Enabled Obligations remain dormant until the Policy is active and effective.
|
|
51
|
+
|
|
52
|
+
Control implementation includes evidence-source and schedule readiness. Use `npx filegrc program-readiness --json` to review incomplete Control or Component records and each per-Policy activation assessment. At the end of Step 3, use the Controls-page review or `npx filegrc activate-policies --scaffold` to choose which approved Policies take effect. You can activate with a documented gap or approved Exception, but Evidence Readiness still requires active Policies, implemented Controls, configured evidence sources, and enabled schedules before the candidate period can begin. `npx filegrc evidence-map --json` remains available as a focused diagnostic. Create an Evidence Artifact during Step 4 only when a real export, report, screenshot, signed file, or approved external reference exists.
|
|
49
53
|
|
|
50
54
|
The Program Overview shows what is done, what is blocked, and what to do next.
|
|
51
55
|
|
|
@@ -53,14 +57,16 @@ The Program Overview shows what is done, what is blocked, and what to do next.
|
|
|
53
57
|
|
|
54
58
|
- **Work Queue** turns policy schedules and follow-up into upcoming, blocked, due, and overdue work, with named blockers when a task cannot proceed.
|
|
55
59
|
- **Policy Events** create the right tasks for hiring, departures, incidents, vendor changes, and other events.
|
|
56
|
-
- **Program Readiness** checks whether
|
|
60
|
+
- **Program Readiness** checks whether you can begin a reliable evidence period.
|
|
57
61
|
- **Period Health** checks role, policy, control, source, obligation, and Git-history continuity across candidate and formal Type 2 dates.
|
|
58
62
|
- **Audit Readiness** checks the engagement, period, documents, evidence, and Type 2 populations.
|
|
59
63
|
- **Evidence packets** collect the scoped records, attachments, history, indexes, and checksums for delivery.
|
|
60
64
|
|
|
61
65
|

|
|
62
66
|
|
|
63
|
-
|
|
67
|
+
The Security starter uses one consolidated Information Security Policy with familiar policy-family headings, one Security Incident and Recovery Plan, one focused Data Retention Schedule, one Security Awareness Training record, and the Controls and Obligations needed for the Security common criteria. The headings make common customer and Vendor questionnaire topics easy to locate, but they do not prove implementation or create separate policy documents. Confirm the applicable Control status and Evidence before answering a questionnaire.
|
|
68
|
+
|
|
69
|
+
These records are proposals, so review them against how your company actually works. Suggested retention periods and schedule cadences are starting points, not adopted requirements. Add Privacy, Confidentiality, Availability, Processing Integrity, employment, anti-bribery, or other broader GRC material only when the company chooses to expand the scope.
|
|
64
70
|
|
|
65
71
|
## Built for engineers and agents
|
|
66
72
|
|
|
@@ -90,6 +96,8 @@ filegrc manages GRC records and audit evidence. Your workforce, identity, source
|
|
|
90
96
|
|
|
91
97
|
The independent CPA firm still selects samples, tests controls, evaluates exceptions, decides whether evidence is sufficient, and issues the SOC 2 report.
|
|
92
98
|
|
|
93
|
-
|
|
99
|
+
For a SOC 2 engagement, scope all 33 Security Common Criteria, all nine Description Criteria, and any optional Trust Services Categories included in the report. The Security Common Criteria remain mandatory. Record any criterion from an optional category judged not relevant under DC8 instead of omitting a Description Criterion.
|
|
100
|
+
|
|
101
|
+
Do not put plaintext credentials, private keys, tokens, recovery codes, or personal data that may need erasure into Git. Source-controlled ciphertext is allowed only under the Information Security Policy's approved encryption, separate-key, access, and rotation conditions. The editable local server has no authentication and binds to loopback by default.
|
|
94
102
|
|
|
95
103
|
Learn more at [filegrc.com](https://filegrc.com) or [view the source on GitHub](https://github.com/Alignbase/filegrc).
|
package/template/WORKSPACE.md
CHANGED
|
@@ -42,4 +42,6 @@ The editable browser uses `main` and pushes saved changes to `origin`. Connect t
|
|
|
42
42
|
|
|
43
43
|
{{starter_setup}}
|
|
44
44
|
|
|
45
|
+
Do not put plaintext credentials, private keys, authentication tokens, recovery codes, session material, or personal data that may need erasure into Git. Source-controlled ciphertext is allowed only under the Information Security Policy's approved encryption, separate-key, access, and rotation rules.
|
|
46
|
+
|
|
45
47
|
filegrc manages GRC records and audit evidence. It does not replace infrastructure logging, monitoring, identity, backup, endpoint, or incident-detection systems.
|
package/template/data/AGENTS.md
CHANGED
|
@@ -116,6 +116,8 @@ Status is an assertion. Before moving a record to a completed, approved, impleme
|
|
|
116
116
|
|
|
117
117
|
Do not mark a control implemented because a policy says it should exist. Do not mark evidence verified because it was merely collected. Do not mark a task done without the completion record type requested by its obligation.
|
|
118
118
|
|
|
119
|
+
Policy approval accepts the reviewed requirements. It does not prove implementation or start governed work. A Control may be implemented while its governing Policy is approved but inactive. Enable its schedules during implementation. At the end of Step 3, run `activate-policies --scaffold`, review the approved Policies together, select the cutover set, and record the real effective date. FileGRC does not infer technical implementation from Policy prose, so put configuration facts in Controls, Components, Systems, governed schedules, and Evidence.
|
|
120
|
+
|
|
119
121
|
## Delete and replace
|
|
120
122
|
|
|
121
123
|
Before deletion:
|
|
@@ -169,14 +171,15 @@ Finish each applicable Control and its authoritative source Components together.
|
|
|
169
171
|
npx filegrc program-readiness --json
|
|
170
172
|
```
|
|
171
173
|
|
|
172
|
-
The Control stage reports
|
|
174
|
+
The Control stage reports Control implementation items, evidence-family source checks, governed-plan blockers, and per-Policy activation assessments. Resolve them through the source records:
|
|
173
175
|
|
|
174
|
-
1. Choose an existing
|
|
175
|
-
2. Set the
|
|
176
|
-
3. Put the exact report, filters, date range, timezone, export format, and reconciliation steps in the
|
|
176
|
+
1. Choose an existing Component or scaffold the Component that is authoritative for the family.
|
|
177
|
+
2. Set the Component to `active`, connect it to each bounded System through `systemUses` with the `evidence-source` role and a rationale, add the matching `evidenceSourceKinds`, and name current `evidenceOwnerIds`.
|
|
178
|
+
3. Put the exact report, filters, date range, timezone, export format, and reconciliation steps in the Component’s Record Markdown.
|
|
177
179
|
4. Add the Component ID to `evidenceSourceComponentIds` on every Control in the family that it supports.
|
|
178
180
|
5. Finish the Control’s owner, procedure, scope, operation pattern, mappings, and implementation date. Put every calendar or event schedule in an Obligation.
|
|
179
|
-
6.
|
|
181
|
+
6. Enable each required Obligation. It stays dormant while a governing Policy is inactive.
|
|
182
|
+
7. Run `program-readiness --json`, then use `activate-policies --scaffold` to review and atomically activate the selected approved Policies at implementation cutover. A documented gap or approved Exception may support activation, but the candidate period cannot start until Policies are active and Controls are fully implemented and evidence-ready.
|
|
180
183
|
|
|
181
184
|
Use `get RESOURCE_ID --mutation` and `update` so JSON and Markdown change together. `evidence-map --json` remains available when you want only the evidence-family checks. Do not create an Evidence Artifact while designing or implementing a Control. Create one during Step 4 only when the real export, report, screenshot, signed file, or approved external reference exists.
|
|
182
185
|
|
|
@@ -203,7 +206,9 @@ npx filegrc audit-readiness AUDIT_ID --json
|
|
|
203
206
|
npx filegrc evidence-packet --audit AUDIT_ID --preview --json
|
|
204
207
|
```
|
|
205
208
|
|
|
206
|
-
Run Program Readiness before creating the normal audit engagement.
|
|
209
|
+
Run Program Readiness before creating the normal audit engagement. Step 2 checks independent Policy approval without requiring activation. Evidence Readiness separately checks active Policies, implemented Controls, enabled schedules, and evidence mapping without an audit ID. Fix readiness errors in Policy, Control, Component, System, governed schedule, and Evidence records. Do not edit packet output under `.filegrc/`. A delivery-ready filegrc packet means the management checks passed; the engagement team still judges evidence and performs the examination.
|
|
210
|
+
|
|
211
|
+
For a real engagement, select the Program and its bounded Systems, a framework containing the complete CC1.1 through CC9.2 Security Common Criteria set, all nine SOC 2 Description Criteria, any optional Trust Services Categories in scope, and Controls that cover every applicable selected Trust Services criterion. Treat every Security Common Criterion as applicable. For an included optional category, keep a criterion in the framework when management judges it not relevant and record the limited circumstances in the System Description's DC8 disclosure. Do not omit any of the nine Description Criteria. Use `coverage.kind: "as-of"` with `on` for Type 1 or `coverage.kind: "range"` with `startsOn` and `endsOn` for Type 2. Record the Git commit for management's complete scope review in `scopeRevision`. Record `subserviceConclusion` and its rationale. When subservice organizations are identified, each `subserviceTreatments` item must connect one Vendor to its supplied Components within a selected System and choose the carve-out or inclusive method. Inclusive treatments also need the selected Controls that operate on those Components.
|
|
207
212
|
|
|
208
213
|
## Finish every change
|
|
209
214
|
|
|
@@ -214,6 +219,6 @@ git status --short
|
|
|
214
219
|
git diff
|
|
215
220
|
```
|
|
216
221
|
|
|
217
|
-
Review every changed JSON, Markdown, and attachment. Confirm the diff contains no
|
|
222
|
+
Review every changed JSON, Markdown, and attachment. Confirm the diff contains no plaintext credentials, private keys, tokens, recovery codes, improperly controlled ciphertext, temporary files, source exports with prohibited data, or derived `.filegrc/` output. Make one focused commit whose message says why the compliance record changed.
|
|
218
223
|
|
|
219
224
|
These commands are for CLI and agent work, which continues to manage Git explicitly. Browser saves in trunk mode commit automatically from the configured authoritative branch, then push in the background while the UI reports `Syncing`. Do not start another write until it reports `Synced`. Do not use a feature branch as a record approval state, and never include application changes when this workspace lives in a monorepo.
|
|
@@ -7,5 +7,5 @@
|
|
|
7
7
|
"holderId": "person-program-lead",
|
|
8
8
|
"scopeResourceIds": ["workspace"],
|
|
9
9
|
"startsOn": "{{effective_date}}",
|
|
10
|
-
"responsibilities": "Own the information security program
|
|
10
|
+
"responsibilities": "Own the information security program, its Policy, Controls, governed documents, training, and scheduled work until management assigns more specific accountable parties."
|
|
11
11
|
}
|
|
@@ -15,6 +15,10 @@ npx filegrc audit-readiness AUDIT_ID --json
|
|
|
15
15
|
|
|
16
16
|
Preparation creates engagement-specific management documents and, for Type 2, population records. It does not approve documents, implement controls, reconcile populations, or create evidence.
|
|
17
17
|
|
|
18
|
+
Before fieldwork, link the accepted engagement terms as an active approved Document with `documentKind: "soc2-engagement-terms"`. Record the actual acknowledgement date, on or after approval and no later than fieldwork start, and the current management people who acknowledged the terms.
|
|
19
|
+
|
|
20
|
+
Select a framework containing every CC1.1 through CC9.2 Security Common Criterion, all nine SOC 2 Description Criteria, and any optional Trust Services Categories included in the report. Treat every Security Common Criterion as applicable. For an included optional category, keep a criterion in the framework when management judges it not relevant, record the limited circumstances, and disclose them under DC8. Do not omit any Description Criterion. Bind management's complete scope review to its Git commit in `scopeRevision`. The selected auditor Vendor must represent the CPA firm engaged for the examination and must have been active during the engagement period.
|
|
21
|
+
|
|
18
22
|
Review both evidence paths for the exact formal date or period:
|
|
19
23
|
|
|
20
24
|
1. filegrc Evidence consists of dated Step 4 operating records. Complete the record, link it to the applicable Controls, record the result in its fields or Markdown, and link any external artifact needed to support that result.
|
|
@@ -30,3 +34,9 @@ npx filegrc evidence-packet --audit AUDIT_ID
|
|
|
30
34
|
```
|
|
31
35
|
|
|
32
36
|
Do not state that an auditor accepted evidence, selected a sample, cleared an exception, or issued a report unless that fact came from the engagement team. filegrc tracks management preparation; the CPA firm owns examination judgments and the report.
|
|
37
|
+
|
|
38
|
+
The signed representation requires verified `signed-record` Evidence with `artifactSubtype: "signed-management-representation"` and a fixed-format attachment. Record the letter's actual signing timestamp in `businessEventAt`; `collectedOn` only records when FileGRC received it. The signing date must match the CPA report date once `reportDate` is known. Store the issued SOC 2 report as verified `third-party-report` Evidence with `artifactSubtype: "soc2-report"`, record its actual issuance timestamp in `sourceGeneratedAt`, and link it through `reportEvidenceId` before closing the Audit. Reconcile `reportDate` and `opinionDate` to the date on that issued report.
|
|
39
|
+
|
|
40
|
+
At report draft and again before closure, record the subsequent-events review through the CPA report date. Name the actual reviewers, review on or after the through date, state management's conclusion, and link relevant incidents, findings, and Evidence.
|
|
41
|
+
|
|
42
|
+
For each packet delivery, name the people who performed the least-disclosure review and approved delivery. Record the redaction decision, recipient, approved delivery System, exact packet Git revision, SHA-256 manifest checksum, chronological review, approval, and delivery dates, and the receipt reference. Final assertion and representation signers must have active authority Appointments linked from the Audit.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Governed Document Instructions
|
|
2
|
+
|
|
3
|
+
The companion Markdown in this collection is the governed document that management reviews, approves, signs, or gives to the service auditor. Write it as a standalone company artifact.
|
|
4
|
+
|
|
5
|
+
Do not put FileGRC commands, record-entry instructions, readiness states, relationship IDs, or starter-library mechanics in the governed prose. Keep those details in this guide, the record editor, and calculated work guidance. A document may name FileGRC only when FileGRC itself is part of the document's subject, such as an actual system component or evidence source.
|
|
6
|
+
|
|
7
|
+
Bracketed prompts mark facts management must supply. Replace every prompt with a reviewed fact before approval, activation, signature, or delivery. FileGRC treats unresolved prompts as content blockers where the document lifecycle requires complete content.
|
|
8
|
+
|
|
9
|
+
Keep resource links in the Document JSON and supporting records. In the Markdown, describe the underlying business fact in ordinary terms. For example, use “management's control matrix,” “authoritative-source export,” or “signed letter reference” instead of a FileGRC record type or ID.
|
|
10
|
+
|
|
11
|
+
The SOC 2 assertion, representation letter, period-completeness statement, and system description are management deliverables. Reconcile them to the selected Audit, criteria, Controls, populations, events, and Evidence, but do not describe the repository workflow in the final artifact. The service auditor supplies or approves final engagement wording where applicable.
|
|
@@ -10,19 +10,17 @@ Retention periods may come from law, contract, tax, audit, security, or a docume
|
|
|
10
10
|
|
|
11
11
|
| Record class | System or location | Owner | Trigger | Retention | End-of-period action | Authority or reason |
|
|
12
12
|
| --- | --- | --- | --- | --- | --- | --- |
|
|
13
|
-
| Security logs for important
|
|
14
|
-
|
|
|
15
|
-
| SOC 2
|
|
16
|
-
| Customer and service records | Complete before approval | Complete before approval | Complete before approval | Complete before approval | Delete or anonymize | Contract, law, and business need |
|
|
17
|
-
|
|
|
18
|
-
| Vendor and contract records | Complete before approval | Complete before approval | End of relationship or contract | Complete before approval | Securely delete | Contract, audit, and legal requirements |
|
|
19
|
-
| Incident and investigation records | Approved incident and evidence systems | Incident owner | Incident closure | Complete before approval | Archive or securely delete | Legal, insurance, contract, and security needs |
|
|
13
|
+
| Security logs for important Systems | [Complete before approval: Systems or Components] | [Complete before approval: owner] | Log event | [Confirm or replace proposed default before approval: 12 months, adjusted for investigation, contract, legal, audit, and risk needs] | [Complete before approval: disposal action] | [Complete before approval: authority or reason] |
|
|
14
|
+
| Production backups or alternate recovery copies | [Complete before approval: Systems or Components] | [Complete before approval: owner] | Backup or recovery-copy creation | [Confirm or replace proposed default before approval: 30 days, adjusted to approved System recovery objectives] | [Complete before approval: expiration or disposal action] | [Complete before approval: continuity objective or risk decision] |
|
|
15
|
+
| SOC 2 Policies, Control records, and audit Evidence | Git repository and approved Evidence locations | Policy owner | End of the relevant audit period | [Complete before approval based on audit, contract, and legal needs] | Archive or securely delete | Audit and business requirements |
|
|
16
|
+
| Customer and service records | [Complete before approval: Systems or Components] | [Complete before approval: owner] | [Complete before approval: trigger] | [Complete before approval: retention] | Delete or anonymize | Contract, law, and business need |
|
|
17
|
+
| Incident and investigation records | Approved incident and Evidence Systems | Incident owner | Incident closure | [Complete before approval: retention] | Archive or securely delete | Legal, insurance, contract, and security needs |
|
|
20
18
|
|
|
21
|
-
Add rows for each important data class in the
|
|
19
|
+
Add rows for each important data class in the System and Vendor inventories. A row is incomplete until it names the source System or Component, owner, trigger, period, disposal action, and authority. Remove each bracketed prompt only after replacing it with a reviewed fact.
|
|
22
20
|
|
|
23
21
|
## Holds and exceptions
|
|
24
22
|
|
|
25
|
-
An approved legal hold, investigation, or preservation duty suspends normal deletion for the affected records. Record the authority, scope, owner, start date, and release decision
|
|
23
|
+
An approved legal hold, investigation, or preservation duty suspends normal deletion for the affected records. Record the authority, scope, owner, start date, and release decision in controlled legal-hold records.
|
|
26
24
|
|
|
27
25
|
Any retention exception needs a reason, owner, approval, compensating safeguards, and expiration or next review date.
|
|
28
26
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"id": "document-incident-
|
|
2
|
+
"id": "document-security-incident-recovery-plan",
|
|
3
3
|
"type": "document",
|
|
4
|
-
"title": "Incident
|
|
4
|
+
"title": "Security Incident and Recovery Plan",
|
|
5
5
|
"status": "draft",
|
|
6
6
|
"documentKind": "plan",
|
|
7
7
|
"ownerIds": [
|
|
@@ -17,10 +17,9 @@
|
|
|
17
17
|
"control-security-communication",
|
|
18
18
|
"control-logging-monitoring",
|
|
19
19
|
"control-incident-response",
|
|
20
|
-
"control-incident-exercise"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
"document-business-continuity-disaster-recovery"
|
|
20
|
+
"control-incident-exercise",
|
|
21
|
+
"control-backup-restoration",
|
|
22
|
+
"control-continuity-exercise"
|
|
24
23
|
],
|
|
25
24
|
"evidenceIds": [],
|
|
26
25
|
"classificationId": "internal",
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Security Incident and Recovery Plan
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
This plan coordinates reporting, response, recovery, and continuity when a security event or disruption affects {{company_name}} or an in-scope service. Supporting procedures, system records, and retained evidence document the actual technical configuration and operation.
|
|
6
|
+
|
|
7
|
+
## Reporting routes
|
|
8
|
+
|
|
9
|
+
The primary reporting route is {{security_contact_email}}.
|
|
10
|
+
|
|
11
|
+
[Complete before activation: Name a usable alternate reporting route, its owner, protected location, and how workers can find it when the primary email, identity, or collaboration System is unavailable, compromised, or involved in the concern. Do not put plaintext credentials, private keys, tokens, or recovery codes in this plan.]
|
|
12
|
+
|
|
13
|
+
Reports may describe suspected unauthorized access, malware, data loss, credential exposure, security-Control failure, service disruption, fraud affecting the service, or another policy violation. The recipient records the report, protects confidentiality, preserves relevant information, and assigns an initial owner.
|
|
14
|
+
|
|
15
|
+
## Roles and authority
|
|
16
|
+
|
|
17
|
+
The Policy Owner maintains this plan and ensures that the organization assigns these duties before activation:
|
|
18
|
+
|
|
19
|
+
- Incident lead with authority to declare, coordinate, escalate, and close an incident
|
|
20
|
+
- Technical recovery lead for containment, restoration, validation, and rollback
|
|
21
|
+
- System owners for impact assessment, dependencies, and recovery priorities
|
|
22
|
+
- Executive decision-maker for major business, customer, insurance, or legal decisions
|
|
23
|
+
- Communication owner for workforce, customer, Vendor, and public messages
|
|
24
|
+
|
|
25
|
+
If an incident raises a legal, privacy, or insurance question, the incident lead obtains suitable advice at that time. A pre-arranged counsel relationship or standing legal retainer is required only when management determines that the organization's obligations and risk warrant one.
|
|
26
|
+
|
|
27
|
+
[Complete before activation: Record the emergency contact arrangement, its owner, alternate communication channel, protected storage location, and review schedule.]
|
|
28
|
+
|
|
29
|
+
## Assessment and declaration
|
|
30
|
+
|
|
31
|
+
The incident lead records the affected service, Systems, Components, data, customers, Vendors, known timeline, current impact, likely impact, and available Evidence. Severity and declaration use the approved criteria in the Incident Response Control.
|
|
32
|
+
|
|
33
|
+
A material incident includes one that causes or is likely to cause significant failure of a service commitment or System requirement, material unauthorized access or disclosure, sustained loss of an important service, or a notification duty requiring leadership review.
|
|
34
|
+
|
|
35
|
+
## Response
|
|
36
|
+
|
|
37
|
+
The incident team:
|
|
38
|
+
|
|
39
|
+
1. Records and assesses the report.
|
|
40
|
+
2. Contains the event while preserving Evidence.
|
|
41
|
+
3. Removes or isolates the cause.
|
|
42
|
+
4. Restores affected service through approved recovery procedures.
|
|
43
|
+
5. Validates security and service behavior before normal operation resumes.
|
|
44
|
+
6. Coordinates any legal, contractual, privacy, insurance, customer, or regulatory review the incident actually requires.
|
|
45
|
+
7. Communicates through authorized primary or alternate channels.
|
|
46
|
+
8. Records decisions, Exceptions, remaining risk, lessons, and follow-up work.
|
|
47
|
+
|
|
48
|
+
The team does not destroy Evidence, promise external notification, or make public statements without the assigned authority. The notification decision records the triggering law, contract, Policy, commitment, or management decision and the facts used.
|
|
49
|
+
|
|
50
|
+
## Recovery priorities and procedures
|
|
51
|
+
|
|
52
|
+
[Complete before activation: Document every important System's approved recovery time objective, recovery point objective, maximum tolerable downtime, dependencies, owner, and critical customer commitments.]
|
|
53
|
+
|
|
54
|
+
Supporting recovery documentation for each important System must identify:
|
|
55
|
+
|
|
56
|
+
- The backup or alternate recovery approach
|
|
57
|
+
- Scope, frequency, retention, monitoring, and failure response
|
|
58
|
+
- Recovery and restoration procedure
|
|
59
|
+
- People who can access the procedure and required Systems
|
|
60
|
+
- Restore-validation method and approved schedule
|
|
61
|
+
- Dependencies, fallback paths, and validation steps
|
|
62
|
+
|
|
63
|
+
[Confirm or replace before activation: The proposed starting point for important production data is a daily backup, 30-day retention period, and annual restore validation. Document the approved choice for every important System in its recovery procedures and the Data Retention Schedule.]
|
|
64
|
+
|
|
65
|
+
If no approved objective or procedure exists during an event, the incident lead records an interim decision based on customer impact, data risk, and dependencies, then assigns the missing permanent decision as follow-up work.
|
|
66
|
+
|
|
67
|
+
## Alternate plan access
|
|
68
|
+
|
|
69
|
+
[Complete before activation: Record the protected alternate location and access method responders will use when the primary identity, source-control, or collaboration Systems are unavailable. Confirm that authorized responders can retrieve the plan without exposing plaintext secrets or decryption keys.]
|
|
70
|
+
|
|
71
|
+
## Closure and follow-up
|
|
72
|
+
|
|
73
|
+
The incident lead closes the incident only after affected Systems are stable, security validation is complete, Evidence is preserved, required communication decisions are recorded, and remaining work has owners and deadlines. Material incidents receive a retrospective within the approved event window.
|
|
74
|
+
|
|
75
|
+
## Exercises and maintenance
|
|
76
|
+
|
|
77
|
+
Management tests a representative security alert from generation through receipt, acknowledgement, escalation, and fallback on the approved schedule. It also exercises incident coordination, alternate plan access, emergency contacts, and recovery of selected important Systems on their approved schedules.
|
|
78
|
+
|
|
79
|
+
Each exercise records scope, participants, objectives, result, Evidence, Exceptions, findings, and follow-up. The owner reviews this plan after a material incident, failed exercise, important System change, or reporting-path change and on the approved Policy-review schedule.
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
# {{company_name}} Management Assertion
|
|
2
2
|
|
|
3
|
-
> Draft preparation document.
|
|
3
|
+
> Draft preparation document. Retain the section that matches the engagement, remove the other draft section, and reconcile the final wording with the service auditor before approval.
|
|
4
|
+
|
|
5
|
+
## Type 1 Assertion Draft
|
|
4
6
|
|
|
5
|
-
<!-- type-1:start -->
|
|
6
7
|
Management is responsible for the attached description of the in-scope system as of [as-of date] and for designing, implementing, and documenting the controls within that system.
|
|
7
8
|
|
|
8
9
|
Based on the criteria selected for the engagement, management asserts that:
|
|
9
10
|
|
|
10
|
-
1. The description presents the system
|
|
11
|
+
1. The attached description presents the system as designed and implemented as of [as-of date], in accordance with the applicable SOC 2 Description Criteria.
|
|
11
12
|
2. The controls stated in the description were suitably designed to provide reasonable assurance that the applicable service commitments, system requirements, and Trust Services Criteria would be met, assuming the complementary controls identified in the description operated effectively.
|
|
12
|
-
<!-- type-1:end -->
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
## Type 2 Assertion Draft
|
|
15
|
+
|
|
15
16
|
Management is responsible for the attached description of the in-scope system for [start date] through [end date] and for designing, implementing, operating, and documenting the controls within that system.
|
|
16
17
|
|
|
17
18
|
Based on the criteria selected for the engagement, management asserts that:
|
|
18
19
|
|
|
19
|
-
1. The description presents the system
|
|
20
|
+
1. The attached description presents the system as designed and implemented during [start date] through [end date], in accordance with the applicable SOC 2 Description Criteria.
|
|
20
21
|
2. The controls stated in the description were suitably designed to provide reasonable assurance that the applicable service commitments, system requirements, and Trust Services Criteria would be met, assuming the complementary controls identified in the description operated effectively.
|
|
21
22
|
3. The controls operated effectively throughout [start date] through [end date].
|
|
22
|
-
<!-- type-2:end -->
|
|
23
23
|
|
|
24
24
|
[Identify the responsible management signer, title, signature or approval method, and date.]
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
Reporting period: [start date] through [end date]
|
|
6
6
|
|
|
7
|
-
Management reconciled every
|
|
7
|
+
Management reconciled every population used for this engagement to its authoritative source and included every item relevant to the in-scope system and controls. The accompanying `population-index.csv` is incorporated into this statement by reference and records each population reference, source system, query, timezone, count, validation, reviewer, conclusion, and fixed export.
|
|
8
8
|
|
|
9
|
-
| Population |
|
|
9
|
+
| Population | Population reference | Result or exception |
|
|
10
10
|
| --- | --- | --- |
|
|
11
11
|
| Workforce starts, role changes, and departures | [Population ID] | [Result] |
|
|
12
12
|
| Access grants, changes, reviews, and removals | [Population ID] | [Result] |
|
|
@@ -19,7 +19,7 @@ Management reconciled every audit-population record linked to this engagement to
|
|
|
19
19
|
| Backup failures and restoration tests | [Population ID] | [Result] |
|
|
20
20
|
| Security exceptions and control findings | [Population ID] | [Result] |
|
|
21
21
|
|
|
22
|
-
For a population with zero items, retain the source
|
|
22
|
+
For a population with zero items, retain the authoritative-source export or report that produced the zero count. Describe any source limitation, omitted item, or reconciliation difference below.
|
|
23
23
|
|
|
24
24
|
## Exceptions and Source Limitations
|
|
25
25
|
|
|
@@ -27,6 +27,6 @@ For a population with zero items, retain the source-Component export or report t
|
|
|
27
27
|
|
|
28
28
|
## Management Confirmation
|
|
29
29
|
|
|
30
|
-
To the best of management's knowledge after the reconciliations above,
|
|
30
|
+
To the best of management's knowledge after the reconciliations above, management's records and linked evidence contain the complete populations and reportable events relevant to the engagement period.
|
|
31
31
|
|
|
32
32
|
[Identify the responsible signer, title, signature or approval method, and date.]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# {{company_name}} SOC 2 System Description
|
|
2
2
|
|
|
3
|
-
> Draft preparation document. Complete every bracketed item, reconcile it to
|
|
3
|
+
> Draft preparation document. Complete every bracketed item, reconcile it to management's authoritative records, and have the service auditor review the final presentation.
|
|
4
4
|
|
|
5
5
|
## Reporting Period and Scope
|
|
6
6
|
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
## DC2: Service Commitments and System Requirements
|
|
18
18
|
|
|
19
|
-
[Summarize customer commitments, contractual security promises, internal objectives, and the system requirements needed to meet them.
|
|
19
|
+
[Summarize customer commitments, contractual security promises, internal objectives, and the system requirements needed to meet them. Reconcile the summary to supporting commitment records.]
|
|
20
20
|
|
|
21
21
|
## DC3: System Components
|
|
22
22
|
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
|
|
47
47
|
## DC5: Applicable Criteria and Controls
|
|
48
48
|
|
|
49
|
-
[Reference the selected criteria and control matrix
|
|
49
|
+
[Reference the selected criteria and management's control matrix.]
|
|
50
50
|
|
|
51
51
|
## DC6: Complementary User Entity Controls
|
|
52
52
|
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
|
|
59
59
|
## DC8: Criteria Not Relevant
|
|
60
60
|
|
|
61
|
-
[
|
|
61
|
+
[State that CC1.1 through CC9.2 remain in scope for the mandatory Security category. For any optional Trust Services Category, identify a criterion that the service auditor agrees is not relevant in the limited circumstances allowed by the criteria, and explain why. Otherwise state that management identified no criteria as not relevant.]
|
|
62
62
|
|
|
63
63
|
## DC9: Significant Changes
|
|
64
64
|
|
|
@@ -29,4 +29,4 @@ For a signed acknowledgement, bind the attestation to the exact content Git revi
|
|
|
29
29
|
|
|
30
30
|
For a `population-export`, also record the authoritative `sourceComponentId`, exact period, generation timestamp, timezone, query or report parameters, item count, completeness check, and accuracy check. A zero-item population still needs its source export and query.
|
|
31
31
|
|
|
32
|
-
Do not commit
|
|
32
|
+
Do not commit plaintext credentials, private keys, tokens, recovery codes, session data, regulated data, or personal data that may need erasure. Source-controlled ciphertext is allowed only under the Information Security Policy's approved encryption, separate-key, access, and rotation conditions. Use an approved external reference when Git is not an appropriate store.
|
|
@@ -5,7 +5,8 @@ An obligation is a reusable policy schedule or event template. It is not the rec
|
|
|
5
5
|
- Calendar obligations need a valid recurrence anchor, owners, expected completion types, and policy or control links.
|
|
6
6
|
- Event obligations need a stable lowercase `eventType`, a prompt, owners, expected completion types, and an explicit deadline window.
|
|
7
7
|
- Keep completed occurrences in `completionResourceIds`. Do not replace prior links when a new period starts.
|
|
8
|
-
-
|
|
8
|
+
- Configure and enable Obligations during Step 3. An enabled Obligation remains dormant until every governing Policy is active and effective and, when it names Controls, at least one linked Control is implemented.
|
|
9
|
+
- Calendar Obligations generated with `status: proposed` contain suggested starting cadences. Review the scope and risk, edit the cadence when needed, and change the Obligation to `active` only when management accepts that schedule. A proposed Obligation never counts as a configured schedule.
|
|
9
10
|
- When an approved cadence changes, update the policy, control, and obligation together.
|
|
10
11
|
- Pause or retire a template only when the underlying policy work no longer applies. Do not delete historical templates that explain prior periods.
|
|
11
12
|
|