create-filegrc 0.13.5 → 0.15.0
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/package.json +1 -1
- package/src/defaults.js +11 -7
- package/src/index.js +2 -2
- package/template/AGENTS.md +3 -3
- package/template/README.md +2 -2
- package/template/data/AGENTS.md +1 -1
- package/template/data/workspace.json +1 -1
- package/template/package.json +1 -1
package/package.json
CHANGED
package/src/defaults.js
CHANGED
|
@@ -10,6 +10,7 @@ const INFORMATION_SECURITY_POLICY_ID = "policy-information-security";
|
|
|
10
10
|
const RETENTION_SCHEDULE_ID = "document-data-retention-schedule";
|
|
11
11
|
const SECURITY_PLAN_ID = "document-security-incident-recovery-plan";
|
|
12
12
|
const FILEGRC_INFORMATION_TYPE_ID = "information-type-grc-records";
|
|
13
|
+
const FILEGRC_RETENTION_ITEM_ID = "retention-schedule-item-filegrc-records";
|
|
13
14
|
const FILEGRC_SOURCE_FAMILIES = [
|
|
14
15
|
"training-acknowledgement",
|
|
15
16
|
"exception-finding",
|
|
@@ -1172,7 +1173,7 @@ export function baselineRecordFiles(effectiveDate, starter = "security") {
|
|
|
1172
1173
|
ownerIds: [POLICY_OWNER_APPOINTMENT_ID],
|
|
1173
1174
|
...(filegrcManaged ? {
|
|
1174
1175
|
collectionCadence: "Record work when it occurs and export the complete population for the audit period.",
|
|
1175
|
-
retentionScheduleItemIds: [
|
|
1176
|
+
retentionScheduleItemIds: [FILEGRC_RETENTION_ITEM_ID],
|
|
1176
1177
|
reconciliationMethod: "Export the complete filegrc source-family population, compare it with related in-scope records and Work Queue activity, and investigate omissions or duplicates.",
|
|
1177
1178
|
validFrom: effectiveDate
|
|
1178
1179
|
} : {})
|
|
@@ -1187,18 +1188,21 @@ export function baselineRecordFiles(effectiveDate, starter = "security") {
|
|
|
1187
1188
|
classificationId: "confidential",
|
|
1188
1189
|
description: "Structured program records, approvals, work history, and evidence indexes stored in the FileGRC repository."
|
|
1189
1190
|
};
|
|
1190
|
-
const retentionScheduleItems =
|
|
1191
|
-
id:
|
|
1191
|
+
const retentionScheduleItems = [{
|
|
1192
|
+
id: FILEGRC_RETENTION_ITEM_ID,
|
|
1192
1193
|
type: "retention-schedule-item",
|
|
1193
|
-
title:
|
|
1194
|
+
title: "Governance, risk, compliance, and audit records retention",
|
|
1194
1195
|
status: "planned",
|
|
1195
1196
|
description: "Management must select the covered Information Types, cutoff, retention period, and disposition behavior before activation.",
|
|
1196
|
-
informationTypeIds:
|
|
1197
|
-
scopeResourceIds: [
|
|
1197
|
+
informationTypeIds: [FILEGRC_INFORMATION_TYPE_ID],
|
|
1198
|
+
scopeResourceIds: [
|
|
1199
|
+
"program-soc-2",
|
|
1200
|
+
...FILEGRC_SOURCE_FAMILIES.map((sourceFamilyId) => `source-coverage-${sourceFamilyId}`)
|
|
1201
|
+
],
|
|
1198
1202
|
scheduleDocumentId: RETENTION_SCHEDULE_ID,
|
|
1199
1203
|
sourceResourceIds: [INFORMATION_SECURITY_POLICY_ID, RETENTION_SCHEDULE_ID],
|
|
1200
1204
|
ownerIds: [POLICY_OWNER_APPOINTMENT_ID]
|
|
1201
|
-
}
|
|
1205
|
+
}];
|
|
1202
1206
|
|
|
1203
1207
|
const foundation = [
|
|
1204
1208
|
recordFile("information-types", informationType),
|
package/src/index.js
CHANGED
|
@@ -523,13 +523,13 @@ async function runCombinedSetup(target, input) {
|
|
|
523
523
|
async function writeMinimalLockfile(target, name, versionRange) {
|
|
524
524
|
const lock = {
|
|
525
525
|
name,
|
|
526
|
-
version: "0.
|
|
526
|
+
version: "0.15.0",
|
|
527
527
|
lockfileVersion: 3,
|
|
528
528
|
requires: true,
|
|
529
529
|
packages: {
|
|
530
530
|
"": {
|
|
531
531
|
name,
|
|
532
|
-
version: "0.
|
|
532
|
+
version: "0.15.0",
|
|
533
533
|
dependencies: { filegrc: versionRange }
|
|
534
534
|
}
|
|
535
535
|
}
|
package/template/AGENTS.md
CHANGED
|
@@ -119,7 +119,7 @@ npx filegrc migrate --to-model 8 --preview --json
|
|
|
119
119
|
|
|
120
120
|
Older workspaces migrate one version at a time. Review every preview’s automatic, review-required, and unsupported classifications before applying it with the same options and `--yes`. The v8 migration preserves legacy retention prose as notes, renames Component processing operations, and creates no retention periods or disposition behavior.
|
|
121
121
|
|
|
122
|
-
The [model
|
|
122
|
+
The [model v11 upgrade guide](https://github.com/Alignbase/filegrc/blob/main/docs/upgrading-to-model-v11.md) explains owner-recorded Control implementation and periodic Control collection oversight. The [model v10 upgrade guide](https://github.com/Alignbase/filegrc/blob/main/docs/upgrading-to-model-v10.md) explains Reporting Channel Sets and the legacy-route review.
|
|
123
123
|
|
|
124
124
|
Run these commands when working with records:
|
|
125
125
|
|
|
@@ -227,13 +227,13 @@ The Evidence Ready gate requires:
|
|
|
227
227
|
|
|
228
228
|
1. A management goal, selected systems, criteria, and controls.
|
|
229
229
|
2. Policies, required program Documents, and Training independently approved in Step 2, with approval dates and exact approved content revisions.
|
|
230
|
-
3. Implemented Controls with an owner, actual procedure, scope, operation pattern, mappings, implementation date, and every required linked Obligation enabled.
|
|
230
|
+
3. Implemented Controls with an owner, actual procedure, scope, operation pattern, mappings, implementation date, and every required linked Obligation enabled. Review the implemented Control collection once as a batch, then activate required program content at cutover.
|
|
231
231
|
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.
|
|
232
232
|
5. Required governed content active and effective, with no unresolved activation blockers. Audit Documents remain in Step 5 and do not satisfy this program gate.
|
|
233
233
|
|
|
234
234
|
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, required program Document, or Training record. Enabled Obligations remain dormant until all of their governing content is active and effective.
|
|
235
235
|
|
|
236
|
-
Review
|
|
236
|
+
Review the five Step 3 work areas in Program Readiness. Approve Policies, program Documents, and Training in Step 2. Define schedules as Obligations and implement the linked Controls in Step 3. When those work areas are ready, record one independent Control collection review, then activate unchanged approved program content. Evidence Readiness remains incomplete until that review is current and every required program artifact is active and operating. Operate and collect Evidence in Step 4. Keep engagement terms, management assertions, representation letters, and other Audit Documents in Step 5. Approve and activate each Audit Document there as separate writes after its engagement facts are complete.
|
|
237
237
|
|
|
238
238
|
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.
|
|
239
239
|
|
package/template/README.md
CHANGED
|
@@ -19,7 +19,7 @@ npm run serve
|
|
|
19
19
|
|
|
20
20
|
Requires Node.js 20 or newer and Git.
|
|
21
21
|
|
|
22
|
-
Existing model
|
|
22
|
+
Existing model v10 workspaces must run `npx filegrc migrate --to-model 11 --preview --json` after installing a model v11 package. The migration removes the old per-Control implementation review fields. Owners can record implementation directly, while periodic Control oversight uses a Collection Review. Independent Policy, Document, and Training approvals do not change. Older workspaces migrate one model version at a time. See the [model v11 upgrade guide](https://github.com/Alignbase/filegrc/blob/main/docs/upgrading-to-model-v11.md).
|
|
23
23
|
|
|
24
24
|
## How it works
|
|
25
25
|
|
|
@@ -49,7 +49,7 @@ A Policy says what the company commits to do by the date it takes effect. Approv
|
|
|
49
49
|
|
|
50
50
|
FileGRC does not infer technical implementation from Policy prose. Configuration facts belong in Controls, Components, Systems, Obligations, and Evidence. A Control may be implemented while its governing Policy, required program Document, or Training is approved but inactive. Enabled Obligations remain dormant until all of their governing content is active and effective.
|
|
51
51
|
|
|
52
|
-
Control implementation includes evidence-source
|
|
52
|
+
Control implementation includes evidence-source and Obligation readiness. Use `npx filegrc program-readiness --json` to review the five Step 3 work areas. When they are ready, one eligible reviewer records the implemented Control collection review. Management then activates the unchanged approved program Documents and Training with `npx filegrc activate-content --scaffold`, followed by the approved Policies with `npx filegrc activate-policies --scaffold`. Evidence Readiness requires a current Control collection review and active required content before the candidate period can begin. Create Evidence during Step 4 only after operation produces a real record or artifact. Create engagement terms, management assertions, representation letters, and other Audit Documents in Step 5, link each to one Audit, approve it, then activate it with `npx filegrc activate-documents --audit AUDIT_ID --scaffold`.
|
|
53
53
|
|
|
54
54
|
The Program Overview shows what is done, what is blocked, and what to do next.
|
|
55
55
|
|
package/template/data/AGENTS.md
CHANGED
|
@@ -99,7 +99,7 @@ If `guide` marks a Markdown slot recommended, fill it before treating the delive
|
|
|
99
99
|
|
|
100
100
|
When `guide` returns a collection review requirement, review the listed type-specific criteria and use `npx filegrc review-collection RESOURCE_TYPE --scaffold`. Fill the management conclusion, rationale, reviewer, and date, then preview and apply the payload. Do not invent `collectionRevision`; FileGRC calculates it from the current records and material Program scope. Any later change makes the confirmation stale and requires another review.
|
|
101
101
|
|
|
102
|
-
Use Retention Schedule
|
|
102
|
+
Use Retention Schedule records as the structured rows of the Data Retention Schedule. Keep a row `planned` until management has approved its Information Types, scope, cutoff, period, disposition action, instructions, sources, approver, date, and reviewed source revisions. Run `npx filegrc program-readiness --json` after changing an information use, source-coverage record, Commitment, Policy, or other source. FileGRC may identify missing or stale decisions, but it must never infer an organization-specific period or deletion behavior.
|
|
103
103
|
|
|
104
104
|
Store a relationship only on its authoritative record. Control Tests store `auditId`; Evidence Artifacts store `auditIds`; Commitments store `systemIds` and `controlIds`; Controls store `policyIds`, `requirementIds`, `systemIds`, `componentIds`, and `evidenceSourceComponentIds`; Risks store `controlIds`; Components store their `vendorId` and `systemUses`; Reporting Channel Sets store the normal and fallback ways people send a report, the rules requiring them, and the responsible role. Use `references` to inspect derived inbound links.
|
|
105
105
|
|