create-filegrc 0.3.4 → 0.4.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.
Files changed (52) hide show
  1. package/README.md +4 -3
  2. package/package.json +1 -1
  3. package/src/cli.js +5 -3
  4. package/src/defaults.js +81 -112
  5. package/src/index.js +13 -12
  6. package/template/AGENTS.md +23 -16
  7. package/template/README.md +10 -7
  8. package/template/data/AGENTS.md +35 -13
  9. package/template/data/action-items/AGENTS.md +2 -2
  10. package/template/data/appointments/appointment-policy-owner.json +11 -0
  11. package/template/data/audits/AGENTS.md +1 -1
  12. package/template/data/documents/document-business-continuity-disaster-recovery.json +12 -12
  13. package/template/data/documents/document-business-continuity-disaster-recovery.md +1 -1
  14. package/template/data/documents/document-contractor-policy-acknowledgement.json +10 -11
  15. package/template/data/documents/document-contractor-training-acknowledgement.json +13 -12
  16. package/template/data/documents/document-data-retention-schedule.json +9 -11
  17. package/template/data/documents/document-employee-handbook-acknowledgement.json +10 -11
  18. package/template/data/documents/document-employee-policy-acknowledgement.json +10 -11
  19. package/template/data/documents/document-employee-training-acknowledgement.json +13 -12
  20. package/template/data/documents/document-incident-response-plan.json +12 -12
  21. package/template/data/documents/document-incident-response-plan.md +2 -2
  22. package/template/data/documents/document-soc2-management-assertion.json +2 -3
  23. package/template/data/documents/document-soc2-management-representation.json +2 -3
  24. package/template/data/documents/document-soc2-period-completeness.json +2 -3
  25. package/template/data/documents/document-soc2-system-description.json +2 -3
  26. package/template/data/evidence/AGENTS.md +3 -3
  27. package/template/data/obligation-events/AGENTS.md +2 -2
  28. package/template/data/obligations/AGENTS.md +1 -1
  29. package/template/data/people/person-program-lead.json +9 -0
  30. package/template/data/policies/AGENTS.md +1 -1
  31. package/template/data/policies/policy-anti-bribery-corruption.json +9 -15
  32. package/template/data/policies/policy-anti-bribery-corruption.md +1 -1
  33. package/template/data/policies/policy-clear-desk-screen.json +8 -14
  34. package/template/data/policies/policy-clear-desk-screen.md +1 -1
  35. package/template/data/policies/policy-data-protection-handling.json +10 -22
  36. package/template/data/policies/policy-data-protection-handling.md +2 -2
  37. package/template/data/policies/policy-employee-handbook.json +6 -16
  38. package/template/data/policies/policy-information-security.json +8 -40
  39. package/template/data/policies/policy-information-security.md +2 -2
  40. package/template/data/policies/policy-mobile-computing-communications.json +8 -18
  41. package/template/data/policies/policy-mobile-computing-communications.md +1 -1
  42. package/template/data/renderer.json +0 -1
  43. package/template/data/training/training-anti-bribery-high-risk-roles.json +1 -2
  44. package/template/data/training/training-privileged-sensitive-roles.json +1 -2
  45. package/template/data/training/training-secure-development.json +1 -2
  46. package/template/data/training/training-security-awareness.json +7 -9
  47. package/template/data/training/training-security-awareness.md +1 -1
  48. package/template/data/workspace.json +19 -8
  49. package/template/docs/filegrc-home.png +0 -0
  50. package/template/package.json +1 -1
  51. package/template-parameters.json +6 -1
  52. package/template/data/people/person-policy-owner.json +0 -10
@@ -1,20 +1,19 @@
1
1
  {
2
- "schemaVersion": 1,
3
2
  "id": "document-employee-policy-acknowledgement",
4
3
  "type": "document",
5
4
  "title": "Employee Policy Acknowledgement",
6
5
  "status": "draft",
7
6
  "documentKind": "attestation-template",
8
- "ownerIds": ["person-policy-owner"],
7
+ "ownerIds": [
8
+ "appointment-policy-owner"
9
+ ],
9
10
  "version": "1.0",
10
11
  "effectiveOn": "{{effective_date}}",
11
- "reviewCadence": {
12
- "mode": "calendar",
13
- "unit": "year",
14
- "interval": 1,
15
- "anchorDate": "{{effective_date}}"
16
- },
17
- "classification": "internal",
18
- "audience": ["employees"],
19
- "controlIds": ["control-workforce-expectations"]
12
+ "audience": [
13
+ "employees"
14
+ ],
15
+ "controlIds": [
16
+ "control-workforce-expectations"
17
+ ],
18
+ "classificationId": "internal"
20
19
  }
@@ -1,21 +1,22 @@
1
1
  {
2
- "schemaVersion": 1,
3
2
  "id": "document-employee-training-acknowledgement",
4
3
  "type": "document",
5
4
  "title": "Employee Training Acknowledgement",
6
5
  "status": "draft",
7
6
  "documentKind": "attestation-template",
8
- "ownerIds": ["person-policy-owner"],
7
+ "ownerIds": [
8
+ "appointment-policy-owner"
9
+ ],
9
10
  "version": "1.0",
10
11
  "effectiveOn": "{{effective_date}}",
11
- "reviewCadence": {
12
- "mode": "calendar",
13
- "unit": "year",
14
- "interval": 1,
15
- "anchorDate": "{{effective_date}}"
16
- },
17
- "classification": "internal",
18
- "audience": ["employees"],
19
- "controlIds": ["control-security-training"],
20
- "relatedResourceIds": ["training-security-awareness"]
12
+ "audience": [
13
+ "employees"
14
+ ],
15
+ "controlIds": [
16
+ "control-security-training"
17
+ ],
18
+ "trainingIds": [
19
+ "training-security-awareness"
20
+ ],
21
+ "classificationId": "internal"
21
22
  }
@@ -1,21 +1,18 @@
1
1
  {
2
- "schemaVersion": 1,
3
2
  "id": "document-incident-response-plan",
4
3
  "type": "document",
5
4
  "title": "Incident Response Plan",
6
5
  "status": "draft",
7
6
  "documentKind": "plan",
8
- "ownerIds": ["person-policy-owner"],
7
+ "ownerIds": [
8
+ "appointment-policy-owner"
9
+ ],
9
10
  "version": "1.0",
10
11
  "effectiveOn": "{{effective_date}}",
11
- "reviewCadence": {
12
- "mode": "calendar",
13
- "unit": "year",
14
- "interval": 1,
15
- "anchorDate": "{{effective_date}}"
16
- },
17
- "classification": "internal",
18
- "audience": ["employees", "contractors"],
12
+ "audience": [
13
+ "employees",
14
+ "contractors"
15
+ ],
19
16
  "acknowledgementRequired": false,
20
17
  "controlIds": [
21
18
  "control-security-communication",
@@ -23,6 +20,9 @@
23
20
  "control-incident-response",
24
21
  "control-incident-exercise"
25
22
  ],
26
- "relatedDocumentIds": ["document-business-continuity-disaster-recovery"],
27
- "evidenceIds": []
23
+ "relatedDocumentIds": [
24
+ "document-business-continuity-disaster-recovery"
25
+ ],
26
+ "evidenceIds": [],
27
+ "classificationId": "internal"
28
28
  }
@@ -8,7 +8,7 @@ This plan defines how {{company_name}} identifies, declares, contains, investiga
8
8
 
9
9
  This plan applies to suspected or confirmed events affecting company or customer systems, data, identities, devices, facilities, vendors, or business operations. Availability disruptions may also activate the Business Continuity and Disaster Recovery Plan.
10
10
 
11
- Questions and incident reports should be sent immediately to {{security_contact_email}}. If that route is unavailable or may be compromised, contact {{policy_owner_name}} through a known alternate channel.
11
+ Questions and incident reports should be sent immediately to {{security_contact_email}}. If that route is unavailable or may be compromised, contact the current Policy Owner through a known alternate channel.
12
12
 
13
13
  ## Definitions
14
14
 
@@ -47,7 +47,7 @@ Anyone may report a suspected incident. Reporters preserve available evidence, s
47
47
 
48
48
  ### Incident lead
49
49
 
50
- The incident lead declares the incident, assigns severity, coordinates work, maintains the incident record, approves status changes, and decides when the incident is contained and closed. {{policy_owner_name}} acts as incident lead until another qualified person is assigned.
50
+ The incident lead declares the incident, assigns severity, coordinates work, maintains the incident record, approves status changes, and decides when the incident is contained and closed. The current Policy Owner acts as incident lead until another qualified person is assigned.
51
51
 
52
52
  ### Technical responders
53
53
 
@@ -1,5 +1,4 @@
1
1
  {
2
- "schemaVersion": 1,
3
2
  "id": "document-soc2-management-assertion",
4
3
  "type": "document",
5
4
  "title": "SOC 2 Management Assertion",
@@ -7,8 +6,8 @@
7
6
  "documentKind": "soc2-management-assertion",
8
7
  "template": true,
9
8
  "ownerIds": [
10
- "person-policy-owner"
9
+ "appointment-policy-owner"
11
10
  ],
12
11
  "version": "0.1",
13
- "classification": "Confidential"
12
+ "classificationId": "confidential"
14
13
  }
@@ -1,5 +1,4 @@
1
1
  {
2
- "schemaVersion": 1,
3
2
  "id": "document-soc2-management-representation",
4
3
  "type": "document",
5
4
  "title": "SOC 2 Management Representation Letter",
@@ -7,8 +6,8 @@
7
6
  "documentKind": "soc2-management-representation",
8
7
  "template": true,
9
8
  "ownerIds": [
10
- "person-policy-owner"
9
+ "appointment-policy-owner"
11
10
  ],
12
11
  "version": "0.1",
13
- "classification": "Confidential"
12
+ "classificationId": "confidential"
14
13
  }
@@ -1,5 +1,4 @@
1
1
  {
2
- "schemaVersion": 1,
3
2
  "id": "document-soc2-period-completeness",
4
3
  "type": "document",
5
4
  "title": "SOC 2 Period Completeness Statement",
@@ -7,8 +6,8 @@
7
6
  "documentKind": "soc2-period-completeness",
8
7
  "template": true,
9
8
  "ownerIds": [
10
- "person-policy-owner"
9
+ "appointment-policy-owner"
11
10
  ],
12
11
  "version": "0.1",
13
- "classification": "Confidential"
12
+ "classificationId": "confidential"
14
13
  }
@@ -1,5 +1,4 @@
1
1
  {
2
- "schemaVersion": 1,
3
2
  "id": "document-soc2-system-description",
4
3
  "type": "document",
5
4
  "title": "SOC 2 System Description",
@@ -7,8 +6,8 @@
7
6
  "documentKind": "soc2-system-description",
8
7
  "template": true,
9
8
  "ownerIds": [
10
- "person-policy-owner"
9
+ "appointment-policy-owner"
11
10
  ],
12
11
  "version": "0.1",
13
- "classification": "Internal"
12
+ "classificationId": "internal"
14
13
  }
@@ -2,7 +2,7 @@
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
- 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.
5
+ Do not create placeholder or collection-test Evidence. Control implementation maps Controls to complete authoritative Systems; `npx filegrc evidence-map --json` remains available as a focused diagnostic. Create External Evidence during Step 4 only when a real export, report, screenshot, signed file, or approved external reference exists. When an operating record needs fixed supporting proof, create or update an External Evidence record and link its ID from that record. Keep new evidence as `draft` until the artifact exists. 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
 
@@ -16,12 +16,12 @@ Onboarding does not create collection tests. After confirming applicable control
16
16
  Copy a local fixed file and update the record atomically:
17
17
 
18
18
  ```sh
19
- npx filegrc attach EVIDENCE_ID /path/to/source-file --name auditor-facing-name.csv
19
+ npx filegrc attach EVIDENCE_ID /path/to/source-file --name auditor-facing-name.csv --expected-revision REVISION
20
20
  ```
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
+ Read `REVISION` from `npx filegrc get EVIDENCE_ID --mutation`. Use `npx filegrc detach EVIDENCE_ID FILE_NAME --yes --expected-revision REVISION` 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
 
@@ -12,7 +12,7 @@ The obligations output lists every task the trigger will add, with its owner, de
12
12
  Complete each action with the requested resource type and proof. Then close the workflow:
13
13
 
14
14
  ```sh
15
- npx filegrc complete-event OBLIGATION_EVENT_ID --completed-on YYYY-MM-DD
15
+ npx filegrc complete-event OBLIGATION_EVENT_ID --completed-on YYYY-MM-DD --expected-revision REVISION
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
+ Read `REVISION` from `npx filegrc get OBLIGATION_EVENT_ID --mutation`. 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.
@@ -9,4 +9,4 @@ An obligation is a reusable policy schedule or event template. It is not the rec
9
9
  - When an approved cadence changes, update the policy, control, and obligation together.
10
10
  - Pause or retire a template only when the underlying policy work no longer applies. Do not delete historical templates that explain prior periods.
11
11
 
12
- Use `npx filegrc obligations --json` to inspect calculated recurring work and preview every Policy Event task, owner, deadline, and requested proof. Use `npx filegrc complete OBLIGATION_ID completion-mutation.json` to create and link a dated occurrence in one validated write. Use `npx filegrc trigger EVENT_TYPE ...` only after the matching event occurs; it adds all configured Action Items to the Work Queue atomically.
12
+ Use `npx filegrc obligations --json` to inspect calculated recurring work and preview every Policy Event task, owner, deadline, and requested proof. Read the Obligation revision with `npx filegrc get OBLIGATION_ID --mutation`, then use `npx filegrc complete OBLIGATION_ID completion-mutation.json --expected-revision REVISION` to create and link a dated occurrence in one validated write. Use `npx filegrc trigger EVENT_TYPE ...` only after the matching event occurs; it adds all configured Action Items to the Work Queue atomically.
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": "person-program-lead",
3
+ "type": "person",
4
+ "title": "{{policy_owner_name}}",
5
+ "status": "active",
6
+ "email": "{{policy_owner_email}}",
7
+ "jobTitle": "{{policy_owner_job_title}}",
8
+ "affiliation": "internal"
9
+ }
@@ -4,7 +4,7 @@ Policies state required behavior. Controls, obligations, training, attestations,
4
4
 
5
5
  Use the `content` Markdown slot for the policy text. Keep ownership and approval metadata in JSON. The approver must be separate from the owner, including through team membership. The reviewer will usually be another leader or manager in the organization, but may be external.
6
6
 
7
- Keep a policy `draft` until its text, owner, scope, related requirements and controls, approval, effective date, review cadence, and acknowledgement requirement match actual practice. When activating it:
7
+ Keep a policy `draft` until its text, owner, scope, related requirements and controls, approval, effective date, review Obligation, and acknowledgement requirement match actual practice. When activating it:
8
8
 
9
9
  1. Record the real approver and approval date.
10
10
  2. Set the effective date.
@@ -1,24 +1,18 @@
1
1
  {
2
- "schemaVersion": 1,
3
2
  "id": "policy-anti-bribery-corruption",
4
3
  "type": "policy",
5
4
  "title": "Anti-Bribery and Corruption Policy",
6
5
  "status": "draft",
7
- "ownerIds": ["person-policy-owner"],
6
+ "ownerIds": [
7
+ "appointment-policy-owner"
8
+ ],
8
9
  "policyKind": "corporate-conduct",
9
10
  "version": "1.0",
10
11
  "effectiveOn": "{{effective_date}}",
11
- "reviewCadence": {
12
- "mode": "calendar",
13
- "unit": "year",
14
- "interval": 1,
15
- "anchorDate": "{{effective_date}}"
16
- },
17
- "audience": ["employees", "contractors", "agents"],
18
- "acknowledgementRequired": true,
19
- "controlIds": [
20
- "control-security-governance",
21
- "control-policy-management",
22
- "control-workforce-expectations"
23
- ]
12
+ "audience": [
13
+ "employees",
14
+ "contractors",
15
+ "agents"
16
+ ],
17
+ "acknowledgementRequired": true
24
18
  }
@@ -70,7 +70,7 @@ Transactions must be recorded promptly, accurately, and with enough detail to ex
70
70
 
71
71
  ## Reporting
72
72
 
73
- Report questions, suspected violations, requests for improper payments, or inaccurate records to {{policy_owner_name}} at {{security_contact_email}}. Reports may be made without first notifying a manager.
73
+ Report questions, suspected violations, requests for improper payments, or inaccurate records to the current Policy Owner at {{security_contact_email}}. Reports may be made without first notifying a manager.
74
74
 
75
75
  {{company_name}} prohibits retaliation against anyone who reports a concern or participates in an investigation in good faith.
76
76
 
@@ -1,23 +1,17 @@
1
1
  {
2
- "schemaVersion": 1,
3
2
  "id": "policy-clear-desk-screen",
4
3
  "type": "policy",
5
4
  "title": "Clear Desk and Clear Screen Policy",
6
5
  "status": "draft",
7
- "ownerIds": ["person-policy-owner"],
6
+ "ownerIds": [
7
+ "appointment-policy-owner"
8
+ ],
8
9
  "policyKind": "information-security",
9
10
  "version": "1.0",
10
11
  "effectiveOn": "{{effective_date}}",
11
- "reviewCadence": {
12
- "mode": "calendar",
13
- "unit": "year",
14
- "interval": 1,
15
- "anchorDate": "{{effective_date}}"
16
- },
17
- "audience": ["employees", "contractors"],
18
- "acknowledgementRequired": true,
19
- "controlIds": [
20
- "control-policy-management",
21
- "control-physical-workspace-security"
22
- ]
12
+ "audience": [
13
+ "employees",
14
+ "contractors"
15
+ ],
16
+ "acknowledgementRequired": true
23
17
  }
@@ -42,7 +42,7 @@ Visitors must remain in authorized areas and be supervised where confidential in
42
42
 
43
43
  ## Lost material or suspected exposure
44
44
 
45
- Report lost papers, devices, badges, removable media, or suspected unauthorized viewing immediately to {{policy_owner_name}} at {{security_contact_email}}.
45
+ Report lost papers, devices, badges, removable media, or suspected unauthorized viewing immediately to the current Policy Owner at {{security_contact_email}}.
46
46
 
47
47
  ## Enforcement and review
48
48
 
@@ -1,33 +1,21 @@
1
1
  {
2
- "schemaVersion": 1,
3
2
  "id": "policy-data-protection-handling",
4
3
  "type": "policy",
5
4
  "title": "Data Protection and Handling Policy",
6
5
  "status": "draft",
7
- "ownerIds": ["person-policy-owner"],
6
+ "ownerIds": [
7
+ "appointment-policy-owner"
8
+ ],
8
9
  "policyKind": "information-security",
9
10
  "version": "1.0",
10
11
  "effectiveOn": "{{effective_date}}",
11
- "reviewCadence": {
12
- "mode": "calendar",
13
- "unit": "year",
14
- "interval": 1,
15
- "anchorDate": "{{effective_date}}"
16
- },
17
- "audience": ["employees", "contractors", "vendors"],
12
+ "audience": [
13
+ "employees",
14
+ "contractors",
15
+ "vendors"
16
+ ],
18
17
  "acknowledgementRequired": true,
19
- "relatedDocumentIds": ["document-data-retention-schedule"],
20
- "controlIds": [
21
- "control-policy-management",
22
- "control-risk-assessment",
23
- "control-access-authorization",
24
- "control-access-review-offboarding",
25
- "control-data-classification-inventory",
26
- "control-encryption-transmission",
27
- "control-data-retention-disposal",
28
- "control-incident-response",
29
- "control-vendor-due-diligence",
30
- "control-vendor-monitoring",
31
- "control-security-exceptions"
18
+ "relatedDocumentIds": [
19
+ "document-data-retention-schedule"
32
20
  ]
33
21
  }
@@ -10,7 +10,7 @@ This policy applies to employees, contractors, vendors, systems, devices, and re
10
10
 
11
11
  ## Responsibilities
12
12
 
13
- {{policy_owner_name}} owns this policy. System and data owners decide which data a system may process, assign classifications, approve access, and set retention requirements. Everyone in scope must handle data according to its classification and report suspected loss or misuse.
13
+ The current Policy Owner owns this policy. System and data owners decide which data a system may process, assign classifications, approve access, and set retention requirements. Everyone in scope must handle data according to its classification and report suspected loss or misuse.
14
14
 
15
15
  Questions and reports should be sent to {{security_contact_email}}.
16
16
 
@@ -121,7 +121,7 @@ People who develop or materially change applications complete secure-development
121
121
 
122
122
  Violations may result in access removal, corrective action, contract remedies, or other action allowed by law and agreement.
123
123
 
124
- Exceptions require a documented business reason, owner, risk assessment, compensating controls, expiration date, and approval from {{policy_owner_name}}.
124
+ Exceptions require a documented business reason, owner, risk assessment, compensating controls, expiration date, and approval from the current Policy Owner.
125
125
 
126
126
  ## Review
127
127
 
@@ -1,28 +1,18 @@
1
1
  {
2
- "schemaVersion": 1,
3
2
  "id": "policy-employee-handbook",
4
3
  "type": "policy",
5
4
  "title": "Employee Handbook",
6
5
  "status": "draft",
7
- "ownerIds": ["person-policy-owner"],
6
+ "ownerIds": [
7
+ "appointment-policy-owner"
8
+ ],
8
9
  "policyKind": "workforce-conduct",
9
10
  "version": "1.0",
10
11
  "effectiveOn": "{{effective_date}}",
11
- "reviewCadence": {
12
- "mode": "calendar",
13
- "unit": "year",
14
- "interval": 1,
15
- "anchorDate": "{{effective_date}}"
16
- },
17
- "audience": ["employees"],
18
- "acknowledgementRequired": true,
19
- "controlIds": [
20
- "control-security-governance",
21
- "control-policy-management",
22
- "control-security-communication",
23
- "control-workforce-expectations",
24
- "control-performance-review"
12
+ "audience": [
13
+ "employees"
25
14
  ],
15
+ "acknowledgementRequired": true,
26
16
  "relatedDocumentIds": [
27
17
  "document-employee-handbook-acknowledgement",
28
18
  "document-employee-policy-acknowledgement"
@@ -1,57 +1,25 @@
1
1
  {
2
- "schemaVersion": 1,
3
2
  "id": "policy-information-security",
4
3
  "type": "policy",
5
4
  "title": "Information Security Policy",
6
5
  "status": "draft",
7
- "ownerIds": ["person-policy-owner"],
6
+ "ownerIds": [
7
+ "appointment-policy-owner"
8
+ ],
8
9
  "policyKind": "information-security",
9
10
  "version": "1.0",
10
11
  "effectiveOn": "{{effective_date}}",
11
- "reviewCadence": {
12
- "mode": "calendar",
13
- "unit": "year",
14
- "interval": 1,
15
- "anchorDate": "{{effective_date}}"
16
- },
17
- "audience": ["employees", "contractors", "vendors"],
12
+ "audience": [
13
+ "employees",
14
+ "contractors",
15
+ "vendors"
16
+ ],
18
17
  "acknowledgementRequired": true,
19
18
  "relatedPolicyIds": [
20
19
  "policy-clear-desk-screen",
21
20
  "policy-data-protection-handling",
22
21
  "policy-mobile-computing-communications"
23
22
  ],
24
- "controlIds": [
25
- "control-security-governance",
26
- "control-policy-management",
27
- "control-security-communication",
28
- "control-workforce-expectations",
29
- "control-security-training",
30
- "control-performance-review",
31
- "control-risk-assessment",
32
- "control-monitoring-remediation",
33
- "control-access-authorization",
34
- "control-strong-authentication",
35
- "control-access-review-offboarding",
36
- "control-physical-workspace-security",
37
- "control-data-classification-inventory",
38
- "control-encryption-transmission",
39
- "control-data-retention-disposal",
40
- "control-inventory-configuration",
41
- "control-endpoint-protection",
42
- "control-network-security",
43
- "control-change-management",
44
- "control-vulnerability-management",
45
- "control-penetration-testing",
46
- "control-logging-monitoring",
47
- "control-incident-response",
48
- "control-incident-exercise",
49
- "control-backup-restoration",
50
- "control-continuity-exercise",
51
- "control-vendor-due-diligence",
52
- "control-vendor-monitoring",
53
- "control-security-exceptions"
54
- ],
55
23
  "relatedDocumentIds": [
56
24
  "document-business-continuity-disaster-recovery",
57
25
  "document-incident-response-plan",
@@ -17,7 +17,7 @@ More specific standards and procedures may set stricter requirements.
17
17
 
18
18
  ## Governance and responsibilities
19
19
 
20
- {{policy_owner_name}} owns the information security program and this policy. Questions and incident reports should be sent to {{security_contact_email}}.
20
+ The current Policy Owner owns the information security program and this policy. Questions and incident reports should be sent to {{security_contact_email}}.
21
21
 
22
22
  The policy owner:
23
23
 
@@ -224,7 +224,7 @@ An exception to this policy requires:
224
224
  - Compensating controls
225
225
  - An accountable owner
226
226
  - An expiration or review date
227
- - Approval from {{policy_owner_name}} or a person with greater authority
227
+ - Approval from the current Policy Owner or a person with greater authority
228
228
 
229
229
  Violations may result in access removal, corrective action, contract remedies, or other action allowed by law and agreement.
230
230
 
@@ -1,27 +1,17 @@
1
1
  {
2
- "schemaVersion": 1,
3
2
  "id": "policy-mobile-computing-communications",
4
3
  "type": "policy",
5
4
  "title": "Mobile Computing and Communications Policy",
6
5
  "status": "draft",
7
- "ownerIds": ["person-policy-owner"],
6
+ "ownerIds": [
7
+ "appointment-policy-owner"
8
+ ],
8
9
  "policyKind": "information-security",
9
10
  "version": "1.0",
10
11
  "effectiveOn": "{{effective_date}}",
11
- "reviewCadence": {
12
- "mode": "calendar",
13
- "unit": "year",
14
- "interval": 1,
15
- "anchorDate": "{{effective_date}}"
16
- },
17
- "audience": ["employees", "contractors"],
18
- "acknowledgementRequired": true,
19
- "controlIds": [
20
- "control-policy-management",
21
- "control-strong-authentication",
22
- "control-physical-workspace-security",
23
- "control-encryption-transmission",
24
- "control-endpoint-protection",
25
- "control-network-security"
26
- ]
12
+ "audience": [
13
+ "employees",
14
+ "contractors"
15
+ ],
16
+ "acknowledgementRequired": true
27
17
  }
@@ -63,7 +63,7 @@ The policy owner reviews authorized mobile devices, personal-device approvals, a
63
63
 
64
64
  ## Loss, theft, or compromise
65
65
 
66
- Report a lost, stolen, or suspected compromised device immediately to {{policy_owner_name}} at {{security_contact_email}}. Do not delay reporting while attempting to recover or investigate the device.
66
+ Report a lost, stolen, or suspected compromised device immediately to the current Policy Owner at {{security_contact_email}}. Do not delay reporting while attempting to recover or investigate the device.
67
67
 
68
68
  ## Return and disposal
69
69
 
@@ -1,5 +1,4 @@
1
1
  {
2
- "schemaVersion": 1,
3
2
  "id": "renderer-settings",
4
3
  "type": "renderer-settings",
5
4
  "title": "Renderer settings",
@@ -1,10 +1,9 @@
1
1
  {
2
- "schemaVersion": 1,
3
2
  "id": "training-anti-bribery-high-risk-roles",
4
3
  "type": "training",
5
4
  "title": "Anti-Bribery Training for Higher-Risk Roles",
6
5
  "status": "draft",
7
- "ownerIds": ["person-policy-owner"],
6
+ "ownerIds": ["appointment-policy-owner"],
8
7
  "audience": ["sales", "finance", "procurement", "government-interaction", "third-party-agents"],
9
8
  "assignmentTrigger": "covered-role-start-or-change",
10
9
  "completionWindowDays": 30,
@@ -1,10 +1,9 @@
1
1
  {
2
- "schemaVersion": 1,
3
2
  "id": "training-privileged-sensitive-roles",
4
3
  "type": "training",
5
4
  "title": "Privileged and Sensitive Role Training",
6
5
  "status": "draft",
7
- "ownerIds": ["person-policy-owner"],
6
+ "ownerIds": ["appointment-policy-owner"],
8
7
  "audience": ["privileged-administrators", "security", "finance", "privacy", "people-operations"],
9
8
  "assignmentTrigger": "covered-role-start-or-change",
10
9
  "completionWindowDays": 30,
@@ -1,10 +1,9 @@
1
1
  {
2
- "schemaVersion": 1,
3
2
  "id": "training-secure-development",
4
3
  "type": "training",
5
4
  "title": "Secure Development Training",
6
5
  "status": "draft",
7
- "ownerIds": ["person-policy-owner"],
6
+ "ownerIds": ["appointment-policy-owner"],
8
7
  "audience": ["engineering", "security", "software-development", "infrastructure"],
9
8
  "assignmentTrigger": "covered-role-start-or-change",
10
9
  "completionWindowDays": 30,