create-filegrc 0.2.0 → 0.3.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.
Files changed (43) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +31 -4
  3. package/package.json +3 -3
  4. package/src/cli.js +106 -16
  5. package/src/defaults.js +17 -13
  6. package/src/index.js +265 -32
  7. package/template/AGENTS.md +21 -35
  8. package/template/README.md +24 -20
  9. package/template/WORKSPACE.md +5 -14
  10. package/template/data/AGENTS.md +8 -8
  11. package/template/data/action-items/AGENTS.md +2 -2
  12. package/template/data/audits/AGENTS.md +3 -3
  13. package/template/data/documents/document-business-continuity-disaster-recovery.json +0 -1
  14. package/template/data/documents/document-contractor-policy-acknowledgement.json +0 -1
  15. package/template/data/documents/document-contractor-training-acknowledgement.json +0 -1
  16. package/template/data/documents/document-data-retention-schedule.json +0 -1
  17. package/template/data/documents/document-employee-handbook-acknowledgement.json +0 -1
  18. package/template/data/documents/document-employee-policy-acknowledgement.json +0 -1
  19. package/template/data/documents/document-employee-training-acknowledgement.json +0 -1
  20. package/template/data/documents/document-incident-response-plan.json +0 -1
  21. package/template/data/documents/document-soc2-management-assertion.json +0 -3
  22. package/template/data/documents/document-soc2-management-representation.json +0 -3
  23. package/template/data/documents/document-soc2-period-completeness.json +0 -3
  24. package/template/data/documents/document-soc2-period-completeness.md +2 -2
  25. package/template/data/documents/document-soc2-system-description.json +0 -3
  26. package/template/data/documents/document-soc2-system-description.md +3 -3
  27. package/template/data/evidence/AGENTS.md +3 -3
  28. package/template/data/obligation-events/AGENTS.md +1 -1
  29. package/template/data/people/person-policy-owner.json +1 -1
  30. package/template/data/policies/policy-anti-bribery-corruption.json +0 -1
  31. package/template/data/policies/policy-clear-desk-screen.json +0 -1
  32. package/template/data/policies/policy-data-protection-handling.json +0 -1
  33. package/template/data/policies/policy-employee-handbook.json +0 -1
  34. package/template/data/policies/policy-information-security.json +0 -1
  35. package/template/data/policies/policy-mobile-computing-communications.json +0 -1
  36. package/template/data/systems/system-filegrc-program-repository.md +3 -3
  37. package/template/data/workspace.json +3 -3
  38. package/template/docs/filegrc-audit.png +0 -0
  39. package/template/docs/filegrc-home.png +0 -0
  40. package/template/docs/filegrc-social-preview.png +0 -0
  41. package/template/package.json +2 -2
  42. package/template-parameters.json +46 -2
  43. package/template/data/people/person-independent-approver.json +0 -9
@@ -1,18 +1,18 @@
1
- # FileGRC
1
+ # filegrc
2
+
3
+ ![filegrc, run a SOC 2 program as files in Git](docs/filegrc-social-preview.png)
2
4
 
3
5
  Run a SOC 2 program as files in Git.
4
6
 
5
- FileGRC gives a founder-led engineering team one place to adopt policies, implement controls, test External Evidence collection, run recurring compliance work, and prepare an audit. JSON holds structured records, Markdown holds long-form work, and Git supplies the change history.
7
+ filegrc gives a founder-led engineering team one place to adopt policies, implement controls, test External Evidence collection, run recurring compliance work, and prepare an audit. JSON holds structured records, Markdown holds long-form work, and Git supplies the change history.
6
8
 
7
9
  There is no separate application database. The repository is the program, so engineers and agents can use the same data through the web app, a text editor, or the CLI.
8
10
 
9
- ![FileGRC SOC 2 program overview](docs/filegrc-home.png)
10
-
11
11
  ## Why it exists
12
12
 
13
13
  SOC 2 work tends to scatter across documents, calendars, tickets, screenshots, and the auditor’s request list. That makes it hard to answer basic questions: What is due? Which policy requires it? What changed during the audit period? Is the evidence complete?
14
14
 
15
- FileGRC keeps that work connected:
15
+ filegrc keeps that work connected:
16
16
 
17
17
  - A starter Security program links criteria references, policies, planned controls, owners, and schedules.
18
18
  - Work Queue turns policy timing into upcoming, due, and overdue work.
@@ -34,20 +34,22 @@ npm run validate
34
34
  npm run serve
35
35
  ```
36
36
 
37
- Setup asks for the company name, the initial policy owner, and a security contact email. It initializes Git when needed. The first local run then defines the initial service boundary and an optional program goal. A Type 2 choice records management intent, not an audit engagement. Completing onboarding opens Step 1 so you can confirm the starter people and oversight team, criteria, commitments, vendors, and systems before moving on.
37
+ The default `security` starter builds the full proposed SOC 2 Security program. Use `--starter foundation` to create only the five structural records when you want to select a framework and program content later. Company and service values can also be supplied together through `create-filegrc --config setup.json`.
38
+
39
+ Setup asks for the legal organization name, the initial policy owner and their email, a security reporting address, and the program timezone. It initializes Git when needed. The first local run then defines the initial service boundary and an optional program goal. A Type 2 choice records management intent, not an audit engagement. Completing onboarding opens Step 1 so you can add the real reviewers and operators, finish the oversight team, and confirm the criteria, commitments, vendors, and systems before moving on.
38
40
 
39
41
  Open the printed local URL. You can commit locally from Repository without configuring a remote. Add a remote when the team is ready to share the workspace, then the browser can pull with rebase and push reviewed commits.
40
42
 
41
- The creation summary reports the resolved engine version, install result, and whether the target joined an existing Git worktree. Generated workspaces receive an organization-specific README with their engine version, validation commands, and remaining setup work.
43
+ The creation summary reports the resolved engine version, program timezone, starter record counts, install result, and whether the target joined an existing Git worktree. Generated workspaces receive an organization-specific README with their engine version, validation commands, and remaining setup work.
42
44
 
43
45
  ## How it works
44
46
 
45
47
  1. Confirm the program’s people and oversight team, applicable criteria, commitments, material vendors, and in-scope systems.
46
48
  2. Review and activate the policies with a separate management reviewer, who is usually internal and may be external.
47
49
  3. Tailor the starter controls, add each owner, actual procedure, scope, cadence, evidence source, and implementation date, and confirm any linked Work Queue schedules are enabled. Marking a control implemented starts eligible schedules. Then record any complementary customer or subservice controls.
48
- 4. Open each generated External Evidence draft, choose its authoritative source System, collect the named artifact, and have another person verify it.
49
- 5. Start the management candidate period, maintain risk assessments and risks, update controls when needed, work the FileGRC queue, and preserve dated evidence.
50
- 6. Engage a CPA firm, record the separate firm-agreed period, review FileGRC Evidence and External Evidence, prepare fieldwork, and generate the evidence packet.
50
+ 4. After confirming the applicable controls and authoritative source Systems, preview the proposed External Evidence drafts with `npx filegrc evidence-test-drafts --preview --json`. Create only the relevant drafts, collect each named artifact, and have another person verify it.
51
+ 5. Start the management candidate period, maintain risk assessments and risks, update controls when needed, work the filegrc queue, and preserve dated evidence.
52
+ 6. Engage a CPA firm, record the separate firm-agreed period, review filegrc Evidence and External Evidence, prepare fieldwork, and generate the evidence packet.
51
53
 
52
54
  Long-form policies, procedures, plans, minutes, training, assertions, and audit responses are Markdown companions beside their JSON records. Screenshots, signed acknowledgements, reports, and fixed exports are attachments linked through evidence records.
53
55
 
@@ -57,7 +59,9 @@ Third-party software is usually both a System and a Vendor. The application is t
57
59
 
58
60
  Use Overview to follow one six-step path: define scope, approve policies, implement controls, test External Evidence, operate the program, then complete the audit. Steps 1 through 4 and Step 6 open an overview with instructions, record links, progress, and completion status. Step 5 opens Policy Events and the Work Queue because operation is ongoing rather than a one-time checklist. The progress tracker opens the first incomplete step.
59
61
 
60
- Use Work Queue for recurring work, Policy Event tasks, and other assigned follow-up. Trigger a Policy Event when the underlying change occurs, and FileGRC adds its required actions to the queue with their owners and deadlines. Create a separate Action Item only when follow-up needs its own assignee, deadline, and completion proof. Each queue item shows its due window or deadline. Link dated proof to close the work.
62
+ ![filegrc SOC 2 program overview](docs/filegrc-home.png)
63
+
64
+ Use Work Queue for recurring work, Policy Event tasks, and other assigned follow-up. Trigger a Policy Event when the underlying change occurs, and filegrc adds its required actions to the queue with their owners and deadlines. Create a separate Action Item only when follow-up needs its own assignee, deadline, and completion proof. Each queue item shows its due window or deadline. Link dated proof to close the work.
61
65
 
62
66
  Use the resource pages to maintain systems, people, vendors, risks, controls, tests, incidents, training, meetings, and External Evidence. The question-mark guide on each list explains what the record type is for, which policies call for it, and when to update it.
63
67
 
@@ -69,7 +73,7 @@ npx filegrc program-path --json
69
73
  npx filegrc scaffold risk-assessment --title "2026 Annual Risk Assessment"
70
74
  npx filegrc list risk --json
71
75
  npx filegrc obligations --json
72
- npx filegrc program-readiness --json
76
+ npx filegrc program-readiness --summary --json
73
77
  npx filegrc complete obligation-id completion-record.json
74
78
  npx filegrc trigger person-started --occurred-on 2026-07-25 --subject person-id
75
79
  npx filegrc complete-action action-item-id completion-record.json --completed-on 2026-07-25
@@ -77,7 +81,7 @@ npx filegrc complete-event obligation-event-id --completed-on 2026-07-25
77
81
  npx filegrc search "access review"
78
82
  ```
79
83
 
80
- `program-path` reports the same six steps, current status, page order, exact Instructions, Use, Policy Basis, and next actions shown in the renderer. `guide` reports that same page guidance for one resource, plus timing, required fields, valid values, relationship candidates, and Markdown locations. `scaffold` produces the same JSON and Markdown mutation shape used by the browser. Read `AGENTS.md` and `data/AGENTS.md` for the full headless workflow.
84
+ `program-path` reports the same six steps, current status, page order, exact Instructions, Use, Policy Basis, and next actions shown in the renderer. `program-readiness --summary --json` reports compact stage counts and next actions; omit `--summary` when you need every readiness item. `guide` reports that same page guidance for one resource, plus timing, required fields, valid values, relationship candidates, and Markdown locations. `scaffold` produces the same JSON and Markdown mutation shape used by the browser. Read `AGENTS.md` and `data/AGENTS.md` for the full headless workflow.
81
85
 
82
86
  ## Start the evidence period
83
87
 
@@ -88,17 +92,17 @@ npx filegrc program-readiness --json
88
92
  npx filegrc program-readiness --require-ready
89
93
  ```
90
94
 
91
- The Evidence Ready gate requires defined scope, effective policies, implemented controls, configured authoritative systems, and verified collection for external evidence that does not already have a dedicated Step 5 record. Put scan reports, backup output, and other fixed artifacts in External Evidence records, then link them from the applicable Step 5 operating records. Starter obligations remain enabled proposals until their governing policies are effective and at least one linked control is implemented. A FileGRC-managed control cannot be implemented while one of its linked Work Queue schedules is paused or waiting for policy approval.
95
+ The Evidence Ready gate requires defined scope, effective policies, implemented controls, configured authoritative systems, and verified collection for external evidence that does not already have a dedicated Step 5 record. Put scan reports, backup output, and other fixed artifacts in External Evidence records, then link them from the applicable Step 5 operating records. Starter obligations remain enabled proposals until their governing policies are effective and at least one linked control is implemented. A filegrc-managed control cannot be implemented while one of its linked Work Queue schedules is paused or waiting for policy approval.
92
96
 
93
97
  When the gate passes, record `candidatePeriodStart` on the workspace on the date reliable collection begins. This is management’s candidate Type 2 period. Do not backdate it. The later audit record keeps the separate period agreed with the CPA firm.
94
98
 
95
99
  ## Prepare the audit
96
100
 
97
- After engaging a CPA firm, create the audit record with the firm, scope, and exact agreed date or period. Audit Readiness checks the program foundation, engagement, formal scope and dates, management documents, FileGRC Evidence, External Evidence, and Type 2 populations.
101
+ After engaging a CPA firm, create the audit record with the firm, scope, and exact agreed date or period. Audit Readiness checks the program foundation, engagement, formal scope and dates, management documents, filegrc Evidence, External Evidence, and Type 2 populations.
98
102
 
99
- ![FileGRC audit readiness](docs/filegrc-audit.png)
103
+ ![filegrc audit readiness](docs/filegrc-audit.png)
100
104
 
101
- For a Type 2 audit, reconcile each complete period population to its authoritative system after the period closes. A zero-item population still needs its source export and query. FileGRC Evidence consists of dated operating records and their Markdown and Git history. External Evidence consists of verified exports, reports, screenshots, signed files, and approved external references. The packet compiles both paths with the selected records, attachments, indexes, historical versions, and SHA-256 checksums.
105
+ For a Type 2 audit, reconcile each complete period population to its authoritative system after the period closes. A zero-item population still needs its source export and query. filegrc Evidence consists of dated operating records and their Markdown and Git history. External Evidence consists of verified exports, reports, screenshots, signed files, and approved external references. The packet compiles both paths with the selected records, attachments, indexes, historical versions, and SHA-256 checksums.
102
106
 
103
107
  ```sh
104
108
  npx filegrc prepare-audit audit-id
@@ -106,15 +110,15 @@ npx filegrc audit-readiness audit-id --json
106
110
  npx filegrc evidence-packet --audit audit-id
107
111
  ```
108
112
 
109
- FileGRC checks management preparation and packet integrity. The independent CPA firm still selects samples, tests controls, evaluates exceptions, decides whether evidence is sufficient, and issues the SOC 2 report.
113
+ filegrc checks management preparation and packet integrity. The independent CPA firm still selects samples, tests controls, evaluates exceptions, decides whether evidence is sufficient, and issues the SOC 2 report.
110
114
 
111
115
  Early CPA engagement remains available when a customer deadline, unusual scope, or other timing risk needs input before the program reaches Evidence Ready. It is optional, not the default first action.
112
116
 
113
117
  ## What belongs elsewhere
114
118
 
115
- FileGRC does not replace workforce, identity, source-control, deployment, infrastructure, monitoring, endpoint, backup, vulnerability, training, signature, procurement, contract, or vendor-risk systems.
119
+ filegrc does not replace workforce, identity, source-control, deployment, infrastructure, monitoring, endpoint, backup, vulnerability, training, signature, procurement, contract, or vendor-risk systems.
116
120
 
117
- Catalog each authoritative system in FileGRC, record how to export from it, and attach or reference the fixed evidence when Audit Readiness asks for it. The generated external-delivery index identifies files that still need to be supplied through an auditor portal or another approved channel.
121
+ Catalog each authoritative system in filegrc, record how to export from it, and attach or reference the fixed evidence when Audit Readiness asks for it. The generated external-delivery index identifies files that still need to be supplied through an auditor portal or another approved channel.
118
122
 
119
123
  The starter uses the SOC 2 Security category and does not include licensed criteria text. Add Availability, Processing Integrity, Confidentiality, or Privacy only when they are in scope.
120
124
 
@@ -1,8 +1,8 @@
1
- # {{company_name}} SOC 2 Program
1
+ # {{program_title}}
2
2
 
3
- This private workspace holds {{company_name}}'s SOC 2 program records and audit evidence. JSON under `data/` stores structured records, Markdown stores long-form work, and Git records reviewed changes.
3
+ {{program_summary}}
4
4
 
5
- The workspace uses FileGRC {{filegrc_version}} through the dependency range `{{filegrc_version_range}}`.
5
+ The workspace uses filegrc {{filegrc_version}} through the dependency spec `{{filegrc_version_range}}`.
6
6
 
7
7
  ## Work locally
8
8
 
@@ -27,15 +27,6 @@ npx filegrc validate --json
27
27
 
28
28
  Read `AGENTS.md` and `data/AGENTS.md` before broad changes.
29
29
 
30
- ## Finish initial setup
30
+ {{starter_setup}}
31
31
 
32
- The starter policies, controls, and obligations are proposals. They do not state that {{company_name}} operates the described controls.
33
-
34
- 1. Use browser onboarding or `npx filegrc setup --help` to record the initial service and goal, then finish Step 1 by confirming the people and oversight team, applicable criteria, commitments, material vendors, and in-scope systems.
35
- 2. Review the starter policies, appoint a reviewer who is separate from the policy owner, and activate only the policies that match current practice. The reviewer will usually be another person in the organization, but may be external.
36
- 3. Review the starter control set, implement each applicable control with its actual procedure, scope, cadence, evidence sources, and implementation date, and confirm any linked Work Queue schedules are enabled. Marking a control implemented starts eligible schedules. Then record any complementary customer or subservice controls.
37
- 4. Open each generated External Evidence draft, choose its authoritative source System, collect the named artifact, and have another person verify it.
38
- 5. 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. `npx filegrc obligations` previews every event task, owner, deadline, and requested proof before the trigger creates anything.
39
- 6. Engage a CPA firm, record the separate firm-agreed period in an audit record, review FileGRC Evidence and External Evidence, and prepare fieldwork.
40
-
41
- FileGRC manages GRC records and audit evidence. It does not replace infrastructure logging, monitoring, identity, backup, endpoint, or incident-detection systems.
32
+ filegrc manages GRC records and audit evidence. It does not replace infrastructure logging, monitoring, identity, backup, endpoint, or incident-detection systems.
@@ -1,4 +1,4 @@
1
- # FileGRC Data Instructions
1
+ # filegrc Data Instructions
2
2
 
3
3
  These instructions apply to every file under `data/`. The root `AGENTS.md` explains the program and Git workflow. A collection-level `AGENTS.md`, when present, adds rules for that resource.
4
4
 
@@ -24,7 +24,7 @@ Use `program-path` to find the current lifecycle step and see the renderer’s e
24
24
  - Work required on a schedule or event belongs in `obligation`.
25
25
  - A dated instance of work belongs in its activity type, such as `meeting`, `risk-assessment`, `access-review`, `vulnerability-scan`, `backup-test`, or `exercise`.
26
26
  - A fact that may change over time belongs in an inventory record, such as `person`, `system`, `asset`, `vendor`, or `access-grant`.
27
- - A dated Step 5 operating record proves that FileGRC-managed work occurred. Put each fixed external artifact in an `evidence` record and link it from the operating record; never add an unexplained attachment.
27
+ - A dated Step 5 operating record proves that filegrc-managed work occurred. Put each fixed external artifact in an `evidence` record and link it from the operating record; never add an unexplained attachment.
28
28
  - Follow-up work belongs in `action-item`. A gap belongs in `finding`, a known threat belongs in `risk`, and an approved temporary departure belongs in `exception`.
29
29
  - An auditor request belongs in `audit-request`; the engagement itself belongs in `audit`.
30
30
 
@@ -61,7 +61,7 @@ npx filegrc create /tmp/filegrc-mutation.json
61
61
  npx filegrc validate --json
62
62
  ```
63
63
 
64
- Creation is atomic. If JSON, Markdown, relationships, or validation fail, FileGRC rolls back the write. IDs are globally unique and immutable after commit.
64
+ Creation is atomic. If JSON, Markdown, relationships, or validation fail, filegrc rolls back the write. IDs are globally unique and immutable after commit.
65
65
 
66
66
  ## Read and update
67
67
 
@@ -77,7 +77,7 @@ Edit the exported mutation, then run:
77
77
  npx filegrc update RESOURCE_TYPE RESOURCE_ID /tmp/filegrc-mutation.json
78
78
  ```
79
79
 
80
- The mutation includes the complete record, current Markdown, and revision hashes. FileGRC rejects the update if another person or agent changed either source after export. Reload and reapply the intended change instead of overwriting it.
80
+ The mutation includes the complete record, current Markdown, and revision hashes. filegrc rejects the update if another person or agent changed either source after export. Reload and reapply the intended change instead of overwriting it.
81
81
 
82
82
  To update JSON and Markdown together, pass `{ "record": {...}, "content": {...}, "revision": "...", "contentRevisions": {...} }`. To change one Markdown slot:
83
83
 
@@ -121,7 +121,7 @@ Delete only an uncommitted draft or a mistake:
121
121
  npx filegrc delete RESOURCE_TYPE RESOURCE_ID --yes
122
122
  ```
123
123
 
124
- FileGRC rejects deletion that breaks references and removes owned Markdown with the JSON. Retire, close, cancel, supersede, or replace committed records that explain historical operation.
124
+ filegrc rejects deletion that breaks references and removes owned Markdown with the JSON. Retire, close, cancel, supersede, or replace committed records that explain historical operation.
125
125
 
126
126
  ## Evidence and attachments
127
127
 
@@ -148,7 +148,7 @@ Remove a local attachment explicitly before deleting its evidence record:
148
148
  npx filegrc detach EVIDENCE_ID source-export.csv --yes
149
149
  ```
150
150
 
151
- FileGRC will not delete an evidence record that still has local attachments.
151
+ filegrc will not delete an evidence record that still has local attachments.
152
152
 
153
153
  Never invent evidence, dates, approvals, results, people, or source-system details. If a required fact is unavailable, leave the record in a non-final state and report the missing input.
154
154
 
@@ -167,13 +167,13 @@ Run `obligations` before `trigger` to preview every Policy Event task, owner, de
167
167
  ## Audit work
168
168
 
169
169
  ```sh
170
- npx filegrc program-readiness --json
170
+ npx filegrc program-readiness --summary --json
171
171
  npx filegrc prepare-audit AUDIT_ID
172
172
  npx filegrc audit-readiness AUDIT_ID --json
173
173
  npx filegrc evidence-packet --audit AUDIT_ID --preview --json
174
174
  ```
175
175
 
176
- Run Program Readiness before creating the normal audit engagement. It checks scope, effective policies, implemented controls, evidence sources, and test captures without an audit ID. Fix readiness errors in source 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.
176
+ Run Program Readiness before creating the normal audit engagement. It checks scope, effective policies, implemented controls, evidence sources, and test captures without an audit ID. Fix readiness errors in source 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.
177
177
 
178
178
  ## Finish every change
179
179
 
@@ -1,6 +1,6 @@
1
1
  # Action Item Instructions
2
2
 
3
- Create an Action Item only when follow-up needs its own assignee, deadline, and completion proof. Keep simpler remediation on the Finding or other source record. Set `sourceResourceId` to the record that created the work; FileGRC derives the backlink and adds every open Action Item to Work Queue. Keep the assignee, due date or policy window, blockers, completion records, and evidence explicit.
3
+ Create an Action Item only when follow-up needs its own assignee, deadline, and completion proof. Keep simpler remediation on the Finding or other source record. Set `sourceResourceId` to the record that created the work; filegrc derives the backlink and adds every open Action Item to Work Queue. Keep the assignee, due date or policy window, blockers, completion records, and evidence explicit.
4
4
 
5
5
  For an event-generated action, do not weaken or extend its policy deadline by hand. Create the requested completion resource and close the action atomically:
6
6
 
@@ -8,4 +8,4 @@ For an event-generated action, do not weaken or extend its policy deadline by ha
8
8
  npx filegrc complete-action ACTION_ITEM_ID completion-mutation.json --completed-on YYYY-MM-DD
9
9
  ```
10
10
 
11
- FileGRC rejects the wrong completion type. Mark ordinary Action Items `done` only after the work occurred, set `completedOn`, and link the completion record or evidence. Use `blocked` while a named dependency prevents work, and link that dependency with `blockingResourceIds`.
11
+ filegrc rejects the wrong completion type. Mark ordinary Action Items `done` only after the work occurred, set `completedOn`, and link the completion record or evidence. Use `blocked` while a named dependency prevents work, and link that dependency with `blockingResourceIds`.
@@ -17,10 +17,10 @@ Preparation creates engagement-specific management documents and, for Type 2, po
17
17
 
18
18
  Review both evidence paths for the exact formal date or period:
19
19
 
20
- 1. FileGRC Evidence consists of dated Step 5 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.
20
+ 1. filegrc Evidence consists of dated Step 5 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.
21
21
  2. External Evidence consists of verified `evidence` records from other Systems. Confirm the source System, date or period, Control links, collector, verifier, and fixed attachment or approved external reference.
22
22
 
23
- The packet compiles both paths. It includes FileGRC records and Markdown with Git history, plus External Evidence records, retained attachments, delivery indexes, and checksums.
23
+ The packet compiles both paths. It includes filegrc records and Markdown with Git history, plus External Evidence records, retained attachments, delivery indexes, and checksums.
24
24
 
25
25
  Run readiness repeatedly and fix source records. Preview the packet before writing it:
26
26
 
@@ -29,4 +29,4 @@ npx filegrc evidence-packet --audit AUDIT_ID --preview --json
29
29
  npx filegrc evidence-packet --audit AUDIT_ID
30
30
  ```
31
31
 
32
- 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.
32
+ 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.
@@ -6,7 +6,6 @@
6
6
  "status": "draft",
7
7
  "documentKind": "plan",
8
8
  "ownerIds": ["person-policy-owner"],
9
- "approverIds": ["person-independent-approver"],
10
9
  "version": "1.0",
11
10
  "effectiveOn": "{{effective_date}}",
12
11
  "reviewCadence": {
@@ -6,7 +6,6 @@
6
6
  "status": "draft",
7
7
  "documentKind": "attestation-template",
8
8
  "ownerIds": ["person-policy-owner"],
9
- "approverIds": ["person-independent-approver"],
10
9
  "version": "1.0",
11
10
  "effectiveOn": "{{effective_date}}",
12
11
  "reviewCadence": {
@@ -6,7 +6,6 @@
6
6
  "status": "draft",
7
7
  "documentKind": "attestation-template",
8
8
  "ownerIds": ["person-policy-owner"],
9
- "approverIds": ["person-independent-approver"],
10
9
  "version": "1.0",
11
10
  "effectiveOn": "{{effective_date}}",
12
11
  "reviewCadence": {
@@ -6,7 +6,6 @@
6
6
  "status": "draft",
7
7
  "documentKind": "schedule",
8
8
  "ownerIds": ["person-policy-owner"],
9
- "approverIds": ["person-independent-approver"],
10
9
  "version": "1.0",
11
10
  "effectiveOn": "{{effective_date}}",
12
11
  "reviewCadence": {
@@ -6,7 +6,6 @@
6
6
  "status": "draft",
7
7
  "documentKind": "attestation-template",
8
8
  "ownerIds": ["person-policy-owner"],
9
- "approverIds": ["person-independent-approver"],
10
9
  "version": "1.0",
11
10
  "effectiveOn": "{{effective_date}}",
12
11
  "reviewCadence": {
@@ -6,7 +6,6 @@
6
6
  "status": "draft",
7
7
  "documentKind": "attestation-template",
8
8
  "ownerIds": ["person-policy-owner"],
9
- "approverIds": ["person-independent-approver"],
10
9
  "version": "1.0",
11
10
  "effectiveOn": "{{effective_date}}",
12
11
  "reviewCadence": {
@@ -6,7 +6,6 @@
6
6
  "status": "draft",
7
7
  "documentKind": "attestation-template",
8
8
  "ownerIds": ["person-policy-owner"],
9
- "approverIds": ["person-independent-approver"],
10
9
  "version": "1.0",
11
10
  "effectiveOn": "{{effective_date}}",
12
11
  "reviewCadence": {
@@ -6,7 +6,6 @@
6
6
  "status": "draft",
7
7
  "documentKind": "plan",
8
8
  "ownerIds": ["person-policy-owner"],
9
- "approverIds": ["person-independent-approver"],
10
9
  "version": "1.0",
11
10
  "effectiveOn": "{{effective_date}}",
12
11
  "reviewCadence": {
@@ -9,9 +9,6 @@
9
9
  "ownerIds": [
10
10
  "person-policy-owner"
11
11
  ],
12
- "approverIds": [
13
- "person-independent-approver"
14
- ],
15
12
  "version": "0.1",
16
13
  "classification": "Confidential"
17
14
  }
@@ -9,9 +9,6 @@
9
9
  "ownerIds": [
10
10
  "person-policy-owner"
11
11
  ],
12
- "approverIds": [
13
- "person-independent-approver"
14
- ],
15
12
  "version": "0.1",
16
13
  "classification": "Confidential"
17
14
  }
@@ -9,9 +9,6 @@
9
9
  "ownerIds": [
10
10
  "person-policy-owner"
11
11
  ],
12
- "approverIds": [
13
- "person-independent-approver"
14
- ],
15
12
  "version": "0.1",
16
13
  "classification": "Confidential"
17
14
  }
@@ -6,7 +6,7 @@ Reporting period: [start date] through [end date]
6
6
 
7
7
  Management reconciled every audit-population record linked to this engagement to its authoritative source and included every item relevant to the in-scope system and controls. The generated `population-index.csv` is incorporated into this statement by reference and records each population ID, source system, query, timezone, count, validation, reviewer, conclusion, and fixed export.
8
8
 
9
- | Population | FileGRC population ID | Result or exception |
9
+ | Population | filegrc population ID | 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] |
@@ -27,6 +27,6 @@ For a population with zero items, retain the source-system export or report that
27
27
 
28
28
  ## Management Confirmation
29
29
 
30
- To the best of management's knowledge after the reconciliations above, FileGRC and the linked evidence contain the complete populations and reportable events relevant to the engagement period.
30
+ To the best of management's knowledge after the reconciliations above, filegrc and the 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.]
@@ -9,9 +9,6 @@
9
9
  "ownerIds": [
10
10
  "person-policy-owner"
11
11
  ],
12
- "approverIds": [
13
- "person-independent-approver"
14
- ],
15
12
  "version": "0.1",
16
13
  "classification": "Internal"
17
14
  }
@@ -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 the FileGRC records, and have the service auditor review the final presentation.
3
+ > Draft preparation document. Complete every bracketed item, reconcile it to the filegrc 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. Link the FileGRC commitment records.]
19
+ [Summarize customer commitments, contractual security promises, internal objectives, and the system requirements needed to meet them. Link the filegrc 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 generated by FileGRC.]
49
+ [Reference the selected criteria and control matrix generated by filegrc.]
50
50
 
51
51
  ## DC6: Complementary User Entity Controls
52
52
 
@@ -2,14 +2,14 @@
2
2
 
3
3
  An evidence record explains what a proof item is, where it came from, what period it supports, who collected it, and which records or controls it supports. The attachment alone is not enough.
4
4
 
5
- Completing onboarding creates draft collection tests only for evidence that must come from systems outside FileGRC and does not already have a dedicated Step 5 record. Risk assessments, meetings, vendor reviews, attestations, vulnerability scans, penetration tests, backup tests, exercises, exceptions, and findings do not need a separate test. When one of those operating records needs a fixed external artifact, create or update an External Evidence record for the artifact and link its ID from the operating record. Keep a generated collection test as `draft` until the artifact has actually been captured. Set it to `collected` only after selecting the source System, attaching or referencing the result, and recording the source, date, classification, and collector. Set it to `verified` only after another named person checks it.
5
+ Onboarding does not create collection tests. After confirming applicable controls and authoritative source Systems, preview proposed tests with `npx filegrc evidence-test-drafts --preview --json`, then explicitly create the missing drafts. Risk assessments, meetings, vendor reviews, attestations, vulnerability scans, penetration tests, backup tests, exercises, exceptions, and findings do not need a separate test. When one of those operating records needs a fixed external artifact, create or update an External Evidence record for the artifact and link its ID from the operating record. Keep a created collection test as `draft` until the artifact has actually been captured. Set it to `collected` only after selecting the source System, attaching or referencing the result, and recording the source, date, classification, and collector. Set it to `verified` only after another named person checks it.
6
6
 
7
7
  ## Create evidence
8
8
 
9
9
  1. Run `npx filegrc guide evidence --json`.
10
10
  2. Use one evidence record for one coherent proof item or fixed export.
11
11
  3. Put local attachments under `data/evidence/EVIDENCE_ID/` and list their data-relative paths in `filePaths`.
12
- 4. Use `externalReference` only when the file must remain in an approved external system. FileGRC never fetches it.
12
+ 4. Use `externalReference` only when the file must remain in an approved external system. filegrc never fetches it.
13
13
  5. Link `sourceResourceIds`, `controlIds`, and `auditIds` as applicable. Use `sourceCommit` when the evidence represents repository state.
14
14
  6. Name the actual collector. A `verified` record also needs the actual verifier and verification date.
15
15
 
@@ -21,7 +21,7 @@ npx filegrc attach EVIDENCE_ID /path/to/source-file --name auditor-facing-name.c
21
21
 
22
22
  The command never overwrites an existing attachment.
23
23
 
24
- Use `npx filegrc detach EVIDENCE_ID FILE_NAME --yes` when removing a mistaken attachment. FileGRC will not delete an evidence record while local attachments remain.
24
+ Use `npx filegrc detach EVIDENCE_ID FILE_NAME --yes` when removing a mistaken attachment. filegrc will not delete an evidence record while local attachments remain.
25
25
 
26
26
  For a rendered page capture, record the route, filters, audit period, exact Git commit, capture time and method, source resource IDs, and screenshot. A current screenshot cannot prove an earlier state unless it is rendered from or bound to that revision.
27
27
 
@@ -15,4 +15,4 @@ Complete each action with the requested resource type and proof. Then close the
15
15
  npx filegrc complete-event OBLIGATION_EVENT_ID --completed-on YYYY-MM-DD
16
16
  ```
17
17
 
18
- FileGRC refuses to close an event with unfinished or unproved actions. Cancel an event only when the triggering event itself was entered in error or did not occur; explain the reason in related records or the commit message.
18
+ filegrc refuses to close an event with unfinished or unproved actions. Cancel an event only when the triggering event itself was entered in error or did not occur; explain the reason in related records or the commit message.
@@ -4,7 +4,7 @@
4
4
  "type": "person",
5
5
  "title": "{{policy_owner_name}}",
6
6
  "status": "active",
7
- "email": "{{security_contact_email}}",
7
+ "email": "{{policy_owner_email}}",
8
8
  "role": "Policy Owner",
9
9
  "teamIds": ["team-security-risk-oversight"]
10
10
  }
@@ -5,7 +5,6 @@
5
5
  "title": "Anti-Bribery and Corruption Policy",
6
6
  "status": "draft",
7
7
  "ownerIds": ["person-policy-owner"],
8
- "approverIds": ["person-independent-approver"],
9
8
  "policyKind": "corporate-conduct",
10
9
  "version": "1.0",
11
10
  "effectiveOn": "{{effective_date}}",
@@ -5,7 +5,6 @@
5
5
  "title": "Clear Desk and Clear Screen Policy",
6
6
  "status": "draft",
7
7
  "ownerIds": ["person-policy-owner"],
8
- "approverIds": ["person-independent-approver"],
9
8
  "policyKind": "information-security",
10
9
  "version": "1.0",
11
10
  "effectiveOn": "{{effective_date}}",
@@ -5,7 +5,6 @@
5
5
  "title": "Data Protection and Handling Policy",
6
6
  "status": "draft",
7
7
  "ownerIds": ["person-policy-owner"],
8
- "approverIds": ["person-independent-approver"],
9
8
  "policyKind": "information-security",
10
9
  "version": "1.0",
11
10
  "effectiveOn": "{{effective_date}}",
@@ -5,7 +5,6 @@
5
5
  "title": "Employee Handbook",
6
6
  "status": "draft",
7
7
  "ownerIds": ["person-policy-owner"],
8
- "approverIds": ["person-independent-approver"],
9
8
  "policyKind": "workforce-conduct",
10
9
  "version": "1.0",
11
10
  "effectiveOn": "{{effective_date}}",
@@ -5,7 +5,6 @@
5
5
  "title": "Information Security Policy",
6
6
  "status": "draft",
7
7
  "ownerIds": ["person-policy-owner"],
8
- "approverIds": ["person-independent-approver"],
9
8
  "policyKind": "information-security",
10
9
  "version": "1.0",
11
10
  "effectiveOn": "{{effective_date}}",
@@ -5,7 +5,6 @@
5
5
  "title": "Mobile Computing and Communications Policy",
6
6
  "status": "draft",
7
7
  "ownerIds": ["person-policy-owner"],
8
- "approverIds": ["person-independent-approver"],
9
8
  "policyKind": "information-security",
10
9
  "version": "1.0",
11
10
  "effectiveOn": "{{effective_date}}",
@@ -1,9 +1,9 @@
1
- # FileGRC Program Repository
1
+ # filegrc Program Repository
2
2
 
3
- This Git repository is the system of record for FileGRC governance records and their revision history. It can supply the training and acknowledgement catalog, exception and finding populations, policy and document approvals, obligation history, Policy Event workflows, and management evidence indexes.
3
+ This Git repository is the system of record for filegrc governance records and their revision history. It can supply the training and acknowledgement catalog, exception and finding populations, policy and document approvals, obligation history, Policy Event workflows, and management evidence indexes.
4
4
 
5
5
  ## Evidence Extraction
6
6
 
7
- Run FileGRC from a clean commit. Use resource dates and audit links to select the exact engagement date or period, save the query or agent instructions with the export, and retain the fixed result behind an evidence record. Record a zero count when the committed source query returns no relevant items.
7
+ Run filegrc from a clean commit. Use resource dates and audit links to select the exact engagement date or period, save the query or agent instructions with the export, and retain the fixed result behind an evidence record. Record a zero count when the committed source query returns no relevant items.
8
8
 
9
9
  The repository is authoritative only for records stored here. Identity, workforce, source-control, deployment, monitoring, endpoint, backup, vulnerability, and vendor systems remain authoritative for the activity they perform.
@@ -3,10 +3,10 @@
3
3
  "dataModelVersion": "1",
4
4
  "id": "workspace",
5
5
  "type": "workspace",
6
- "title": "{{company_name}} SOC 2 Program",
6
+ "title": "{{program_title}}",
7
7
  "organizationName": "{{company_name}}",
8
- "timezone": "UTC",
9
- "description": "SOC 2 Security program based on the AICPA Trust Services Criteria.",
8
+ "timezone": "{{timezone}}",
9
+ "description": "{{program_description}}",
10
10
  "riskMethodology": {
11
11
  "method": "5x5 likelihood and impact",
12
12
  "likelihoodScale": ["Rare", "Unlikely", "Possible", "Likely", "Almost certain"],
Binary file
Binary file
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "{{project_name}}",
3
- "version": "0.2.0",
3
+ "version": "0.3.1",
4
4
  "private": true,
5
- "description": "FileGRC workspace for a SOC 2 program",
5
+ "description": "filegrc workspace for a SOC 2 program",
6
6
  "type": "module",
7
7
  "scripts": {
8
8
  "serve": "filegrc serve",