filegrc 0.7.0 → 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 +8 -0
- package/model/v4.json +97 -6
- package/package.json +2 -2
- package/src/audit-preparation.js +465 -48
- package/src/audit-transition.js +5 -0
- package/src/batch-review.js +14 -5
- package/src/cli.js +43 -0
- package/src/evidence-packet.js +202 -36
- package/src/files.js +53 -3
- package/src/git.js +39 -7
- package/src/index.js +6 -0
- package/src/policy-library/information-security-policy-v2.md +290 -0
- package/src/policy-library.js +826 -0
- package/src/program-path.js +1 -1
- package/src/program-readiness.js +74 -7
- package/src/setup.js +18 -1
- package/src/soc2.js +227 -0
- package/src/state.js +8 -0
- package/src/validate.js +20 -0
- package/src/web.js +97 -20
- package/src/workflow.js +90 -41
package/src/git.js
CHANGED
|
@@ -6,7 +6,7 @@ import { relative, resolve, sep } from "node:path";
|
|
|
6
6
|
import { performance } from "node:perf_hooks";
|
|
7
7
|
import { isSafeGitName } from "./git-name.js";
|
|
8
8
|
import { serializeWorkspaceMutation, withDeferredWorkspaceValidation } from "./mutation.js";
|
|
9
|
-
import { resolveWorkspaceRoot } from "./paths.js";
|
|
9
|
+
import { isCanonicalDataPath, resolveWorkspaceRoot } from "./paths.js";
|
|
10
10
|
import { measureTiming, measureTimingSync, recordTiming, timingEnabled } from "./timing.js";
|
|
11
11
|
import { fingerprintWorkspace, validateWorkspace } from "./validate.js";
|
|
12
12
|
import { loadWorkspace } from "./workspace.js";
|
|
@@ -75,6 +75,7 @@ export function getGitSummary(input = process.cwd()) {
|
|
|
75
75
|
|
|
76
76
|
export function getFileHistory(input, relativePath, limit = 50) {
|
|
77
77
|
const root = resolveWorkspaceRoot(input);
|
|
78
|
+
if (!isSafeDataGitPath(relativePath)) return null;
|
|
78
79
|
try {
|
|
79
80
|
const output = git(root, [
|
|
80
81
|
"log",
|
|
@@ -87,11 +88,11 @@ export function getFileHistory(input, relativePath, limit = 50) {
|
|
|
87
88
|
if (!output) return [];
|
|
88
89
|
return output.split("\n").map(parseLogLine);
|
|
89
90
|
} catch {
|
|
90
|
-
return
|
|
91
|
+
return null;
|
|
91
92
|
}
|
|
92
93
|
}
|
|
93
94
|
|
|
94
|
-
export function getWorkspaceHistories(input, relativePaths, limitPerFile = 12) {
|
|
95
|
+
export function getWorkspaceHistories(input, relativePaths, limitPerFile = 12, options = {}) {
|
|
95
96
|
const root = resolveWorkspaceRoot(input);
|
|
96
97
|
const wanted = new Set(relativePaths);
|
|
97
98
|
const histories = new Map([...wanted].map((path) => [path, []]));
|
|
@@ -99,10 +100,14 @@ export function getWorkspaceHistories(input, relativePaths, limitPerFile = 12) {
|
|
|
99
100
|
const head = tryGit(root, ["rev-parse", "HEAD"]) || null;
|
|
100
101
|
const cached = workspaceHistoryCache.get(root);
|
|
101
102
|
if (cached?.head === head && cached.limitPerFile === limitPerFile) {
|
|
103
|
+
if (options.strict === true && cached.available === false) {
|
|
104
|
+
throw new Error("Git history is unavailable for the requested workspace files.");
|
|
105
|
+
}
|
|
102
106
|
for (const path of wanted) histories.set(path, cached.histories.get(path) ?? []);
|
|
103
107
|
return histories;
|
|
104
108
|
}
|
|
105
109
|
const allHistories = new Map();
|
|
110
|
+
let available = true;
|
|
106
111
|
try {
|
|
107
112
|
const output = git(root, ["log", "--relative", "--format=%x1e%H%x1f%aI%x1f%an%x1f%s", "--name-only", "--", "data"]);
|
|
108
113
|
for (const block of output.split("\x1e")) {
|
|
@@ -116,20 +121,28 @@ export function getWorkspaceHistories(input, relativePaths, limitPerFile = 12) {
|
|
|
116
121
|
}
|
|
117
122
|
}
|
|
118
123
|
} catch {
|
|
119
|
-
|
|
124
|
+
available = false;
|
|
125
|
+
if (options.strict === true) {
|
|
126
|
+
throw new Error("Git history is unavailable for the requested workspace files.");
|
|
127
|
+
}
|
|
128
|
+
// Browser and workflow views tolerate an uncommitted workspace with no history yet.
|
|
120
129
|
}
|
|
121
|
-
workspaceHistoryCache.set(root, { head, limitPerFile, histories: allHistories });
|
|
130
|
+
workspaceHistoryCache.set(root, { head, limitPerFile, histories: allHistories, available });
|
|
122
131
|
for (const path of wanted) histories.set(path, allHistories.get(path) ?? []);
|
|
123
132
|
return histories;
|
|
124
133
|
}
|
|
125
134
|
|
|
126
135
|
export function getFileAtRevision(input, revision, relativePath) {
|
|
127
136
|
const root = resolveWorkspaceRoot(input);
|
|
128
|
-
if (!/^[a-f0-9]{40}$/i.test(String(revision)) ||
|
|
137
|
+
if (!/^[a-f0-9]{40}$/i.test(String(revision)) || !isSafeDataGitPath(relativePath)) {
|
|
129
138
|
throw new Error("Historical file exports require a Git commit and a data/ path.");
|
|
130
139
|
}
|
|
131
140
|
try {
|
|
132
|
-
|
|
141
|
+
const topLevel = git(root, ["rev-parse", "--show-toplevel"]);
|
|
142
|
+
const workspacePrefix = relative(topLevel, root).split(sep).join("/");
|
|
143
|
+
if (workspacePrefix === ".." || workspacePrefix.startsWith("../")) return null;
|
|
144
|
+
const repositoryPath = workspacePrefix ? `${workspacePrefix}/${relativePath}` : relativePath;
|
|
145
|
+
return execFileSync("git", ["show", `${revision}:${repositoryPath}`], {
|
|
133
146
|
cwd: root,
|
|
134
147
|
encoding: "utf8",
|
|
135
148
|
stdio: ["ignore", "pipe", "ignore"],
|
|
@@ -141,6 +154,25 @@ export function getFileAtRevision(input, revision, relativePath) {
|
|
|
141
154
|
}
|
|
142
155
|
}
|
|
143
156
|
|
|
157
|
+
function isSafeDataGitPath(value) {
|
|
158
|
+
return isCanonicalDataPath(value)
|
|
159
|
+
&& value.startsWith("data/")
|
|
160
|
+
&& value !== "data/";
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
export function getChangedDataPathsSinceRevision(input, revision) {
|
|
164
|
+
if (!/^[a-f0-9]{40}$/i.test(String(revision))) return null;
|
|
165
|
+
const root = resolveWorkspaceRoot(input);
|
|
166
|
+
try {
|
|
167
|
+
return [...new Set([
|
|
168
|
+
...lines(git(root, ["diff", "--name-only", "--relative", revision, "--", "data"])),
|
|
169
|
+
...lines(git(root, ["ls-files", "--others", "--exclude-standard", "--", "data"]))
|
|
170
|
+
])].filter((path) => path.startsWith("data/"));
|
|
171
|
+
} catch {
|
|
172
|
+
return null;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
144
176
|
export function hasGitRevision(input, revision) {
|
|
145
177
|
if (!/^[a-f0-9]{40}$/i.test(String(revision))) return false;
|
|
146
178
|
const root = resolveWorkspaceRoot(input);
|
package/src/index.js
CHANGED
|
@@ -52,6 +52,12 @@ export { generateModelDocumentation } from "./model-docs.js";
|
|
|
52
52
|
export { renderMarkdown } from "./markdown.js";
|
|
53
53
|
export { migrateModel, planModelMigration } from "./model-migration.js";
|
|
54
54
|
export { activatePolicies, planPolicyActivation, scaffoldPolicyActivation } from "./policy-activation.js";
|
|
55
|
+
export {
|
|
56
|
+
applyPolicyLibraryUpgrade,
|
|
57
|
+
assessPolicyLibraryUpgrades,
|
|
58
|
+
INFORMATION_SECURITY_LIBRARY_PROPOSAL_ID,
|
|
59
|
+
STRONG_AUTHENTICATION_LIBRARY_PROPOSAL_ID
|
|
60
|
+
} from "./policy-library.js";
|
|
55
61
|
export {
|
|
56
62
|
completeObligationAction,
|
|
57
63
|
completeObligationEvent,
|
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
# Information Security Policy
|
|
2
|
+
|
|
3
|
+
## Purpose and scope
|
|
4
|
+
|
|
5
|
+
This Policy defines the information security requirements for {{company_name}} and its in-scope services. It applies to employees, contractors, authorized users, Systems, Components, devices, code, data, facilities, and Vendors used to provide or protect those services. Vendor requirements apply through approved contracts and oversight.
|
|
6
|
+
|
|
7
|
+
This consolidated Policy uses security-policy names commonly requested in customer questionnaires and assurance reviews. A questionnaire response may cite this Policy and the applicable section, but it must reflect the organization's actual scope, implemented Controls, approved Exceptions, and available Evidence. A section title does not establish a separate document or prove that a Control operates.
|
|
8
|
+
|
|
9
|
+
This Policy establishes management requirements. Approval means the company accepts those requirements, which become effective only on the recorded effective date. Approval does not by itself demonstrate implementation or operation. Management documents supporting procedures, configurations, Control operation, and Evidence separately.
|
|
10
|
+
|
|
11
|
+
## Consolidated policy index
|
|
12
|
+
|
|
13
|
+
- **Governance and workforce:** Information Security Governance and Organization; Risk Management and Compliance; Personnel and Human Resources Security; Security Awareness and Training; Acceptable Use, Clear Desk, and Clear Screen.
|
|
14
|
+
- **Assets, data, and access:** Asset Management; Data Classification, Handling, and Protection; Access Control; Identification, Authentication, and Password.
|
|
15
|
+
- **Technology protection:** Cryptography, Encryption, Key, and Secrets Management; Endpoint, Mobile Device, BYOD, and Malware Protection; Remote Access and Remote Work; Physical and Environmental Security; Network and Communications Security; Configuration Management and System Maintenance.
|
|
16
|
+
- **Engineering and security operations:** Secure Development and Change Management; Vulnerability, Patch, and Penetration Testing; Logging, Monitoring, and Audit Trail; Incident Response.
|
|
17
|
+
- **Resilience and third parties:** Business Continuity and Disaster Recovery; Backup and Restoration; Vendor, Third-Party, and Supply Chain Risk Management; Exceptions, Compliance, Enforcement, and Policy Review.
|
|
18
|
+
|
|
19
|
+
## Definitions
|
|
20
|
+
|
|
21
|
+
- **Worker:** An employee or contractor.
|
|
22
|
+
- **System:** An application, service, process, or infrastructure used to store or process information or support an in-scope service.
|
|
23
|
+
- **Component:** A technology, process, facility, or provider-supplied element within or supporting a System.
|
|
24
|
+
- **Control:** An administrative, technical, or physical safeguard.
|
|
25
|
+
- **Evidence:** Retained information that supports a security fact, decision, or activity.
|
|
26
|
+
- **Vendor:** An external party that provides a product or service.
|
|
27
|
+
- **Exception:** A management-approved, time-bound departure from a requirement.
|
|
28
|
+
- **Important System or Component:** A System or Component included in the approved service boundary or relied upon to meet a security objective, service commitment, recovery objective, Control, or Evidence need.
|
|
29
|
+
- **Approved:** Authorized by the accountable owner or management under the applicable governance process.
|
|
30
|
+
|
|
31
|
+
These definitions set the minimum scope. Management may classify additional assets as important based on risk.
|
|
32
|
+
|
|
33
|
+
## Information Security Governance and Organization Policy
|
|
34
|
+
|
|
35
|
+
### Roles and oversight
|
|
36
|
+
|
|
37
|
+
- **Policy Owner:** Maintains this Policy, the risk program, Controls, approved supporting plans, Exceptions, and improvement work.
|
|
38
|
+
- **System and process owners:** Approve access, maintain safeguards, keep inventories and recovery facts current, and resolve findings.
|
|
39
|
+
- **Independent reviewer:** Remains separate from the Policy Owner, approves the Policy, and challenges management's assessment of Control operation.
|
|
40
|
+
|
|
41
|
+
### Program review
|
|
42
|
+
|
|
43
|
+
Management reviews the security program on its approved schedule and after material change. Reviews cover objectives, service commitments, applicable duties, fraud and misconduct risk, threats, system and Vendor changes, incidents, findings, Exceptions, overdue work, and Control results. Management documents the participants, cadence, decisions, and follow-up for each review.
|
|
44
|
+
|
|
45
|
+
### Information and communication
|
|
46
|
+
|
|
47
|
+
Management obtains or generates, checks, and uses relevant information from internal and external sources to operate and evaluate Controls. Control reports identify their source, scope, period, owner, and known limits when those facts affect a decision. Material security and Control information is communicated in time to the people and outside parties responsible for acting on it.
|
|
48
|
+
|
|
49
|
+
### Conduct and reporting
|
|
50
|
+
|
|
51
|
+
Everyone in scope must act honestly, protect company and customer information, follow approved security processes, disclose conflicts that could affect security decisions, and preserve accurate records. Fraud, deliberate Control bypass, false Evidence, credential sharing, unauthorized access, concealment of a security event, and retaliation for a good-faith report are prohibited.
|
|
52
|
+
|
|
53
|
+
Suspected security events, Control failures, fraud, or policy violations must be reported promptly through the primary route at {{security_contact_email}} or the usable alternate route documented in the Security Incident and Recovery Plan. A person may use the alternate route when the primary route is unavailable, compromised, or involved in the concern. Management investigates credible reports, limits disclosure to people who need the information, preserves relevant records, and records corrective action.
|
|
54
|
+
|
|
55
|
+
## Risk Management and Compliance Policy
|
|
56
|
+
|
|
57
|
+
### Obligations and risk assessment
|
|
58
|
+
|
|
59
|
+
Management identifies security risks and applicable legal, regulatory, contractual, customer, and service commitments, then assigns responsibility through approved requirements, Controls, Systems, Vendor oversight, and governance records. Management obtains qualified legal or other professional advice when an obligation is uncertain.
|
|
60
|
+
|
|
61
|
+
Risk assessment considers objectives, information, threats, vulnerabilities, fraud, dependencies, service and technology changes, likelihood, impact, existing Controls, and risk tolerance. Risks receive an owner, response, target date, approval when accepted, and a review date. Management reassesses risk on the approved schedule and after material change. Management documents the assessment method, cadence, decisions, and follow-up.
|
|
62
|
+
|
|
63
|
+
### Control design and review
|
|
64
|
+
|
|
65
|
+
Management selects and develops manual and technology Controls that respond to approved objectives, commitments, risks, system dependencies, and changes. Each Control has a documented owner, scope, procedure, operating pattern, Evidence source, implementation status, and review path. Management reviews Control design at least annually and after material change, then corrects gaps or records a time-bound Exception.
|
|
66
|
+
|
|
67
|
+
## Personnel and Human Resources Security Policy
|
|
68
|
+
|
|
69
|
+
### Responsibilities and screening
|
|
70
|
+
|
|
71
|
+
Management defines security responsibilities for workers and confirms that people have the competence and authority needed for their assigned duties. Screening or reference checks are performed before sensitive access when lawful, proportionate to the role and risk, and approved by management. Screening is not required when management records that it is unlawful, unavailable, or not warranted for the role.
|
|
72
|
+
|
|
73
|
+
### Workforce lifecycle
|
|
74
|
+
|
|
75
|
+
Workers must accept applicable confidentiality, acceptable-use, intellectual-property, and security responsibilities before receiving access. Managers notify access administrators of starts, role changes, extended absences when relevant, and departures. Company property and access are returned, disabled, or removed when employment, services, or business need ends. Management documents approved timing, Evidence, and escalation requirements for onboarding, access changes, and offboarding in supporting procedures and schedules.
|
|
76
|
+
|
|
77
|
+
### Competence review
|
|
78
|
+
|
|
79
|
+
Management reviews at least annually and after a material role change whether workers remain capable of their assigned security and Control duties and assigns training, supervision, reassignment, or corrective action when needed. The review may be limited to security and Control responsibilities and does not mandate a broader performance-management process.
|
|
80
|
+
|
|
81
|
+
## Security Awareness and Training Policy
|
|
82
|
+
|
|
83
|
+
Workers receive security awareness training on approved onboarding and recurring schedules. Role-specific instruction is assigned when access or duties require it, including for privileged administration, engineering, incident response, privacy, finance, and people operations when applicable.
|
|
84
|
+
|
|
85
|
+
Training addresses reporting, credential and device protection, data handling, social engineering, acceptable use, incident responsibilities, and current risks relevant to the audience. Completion is tied to the content revision reviewed and followed up when overdue. Management documents the covered population, schedules, acknowledgements, completion, and Evidence in the training program records.
|
|
86
|
+
|
|
87
|
+
## Acceptable Use, Clear Desk, and Clear Screen Policy
|
|
88
|
+
|
|
89
|
+
Users must:
|
|
90
|
+
|
|
91
|
+
- Use approved identities, devices, applications, storage, messaging, meeting, and transfer services.
|
|
92
|
+
- Protect credentials, authentication devices, company equipment, customer information, and security records.
|
|
93
|
+
- Keep company data out of personal accounts and unapproved applications.
|
|
94
|
+
- Lock unattended devices and protect papers, screens, conversations, and remote meetings from unauthorized access.
|
|
95
|
+
- Keep Confidential and Restricted information from unattended work areas and dispose of it through approved methods.
|
|
96
|
+
- Report lost, stolen, compromised, or unexpectedly reconfigured devices promptly.
|
|
97
|
+
- Return company property and stop using company access when employment, services, or business need ends.
|
|
98
|
+
|
|
99
|
+
Users must not bypass security safeguards, install unauthorized software, connect unapproved devices or storage, use company Systems for unlawful activity, or disclose information without authorization.
|
|
100
|
+
|
|
101
|
+
## Asset Management Policy
|
|
102
|
+
|
|
103
|
+
{{company_name}} inventories important Systems, Components, company and approved personal devices, software, service accounts, Vendors, and data stores. Records identify an owner, purpose, lifecycle state, classification, dependencies, and recovery needs where relevant.
|
|
104
|
+
|
|
105
|
+
Owners approve assets before they process Confidential or Restricted data or support an important service. Unsupported or unneeded important assets must be upgraded, isolated, replaced, or retired according to risk. Retirement removes company data, software, credentials, access, and inventory assignments through an approved process and retains dated disposal Evidence when the applicable Control requires it.
|
|
106
|
+
|
|
107
|
+
## Data Classification, Handling, and Protection Policy
|
|
108
|
+
|
|
109
|
+
### Classification and minimization
|
|
110
|
+
|
|
111
|
+
Data owners classify information as Public, Internal, Confidential, or Restricted and approve its collection, use, access, storage, sharing, retention, and disposal. When classification is uncertain, users protect the data as Confidential until an owner decides. Collect and retain only information needed for an approved purpose.
|
|
112
|
+
|
|
113
|
+
### Handling and transfer
|
|
114
|
+
|
|
115
|
+
Confidential and Restricted data must use approved Systems, least-privilege access, protected transfer methods, and safeguards appropriate to its classification and risk. Production data must not enter development or test Systems unless an owner approves the use and equivalent protection. Public links and exports of Confidential or Restricted data require explicit authorization.
|
|
116
|
+
|
|
117
|
+
### Media, retention, and disposal
|
|
118
|
+
|
|
119
|
+
Removable media containing Confidential or Restricted data requires owner approval, encryption where supported, controlled custody, and approved disposal. Owners must consider active copies, local copies, media, backups, and Vendor-held copies when applying retention or deletion. Legal holds and active investigations suspend normal disposal for affected records.
|
|
120
|
+
|
|
121
|
+
The Data Retention Schedule defines the approved period and disposal method for important in-scope record classes. Supporting standards, procedures, and system records document implementation. Disposal must be suitable for the media and classification, with dated proof when the Control requires it.
|
|
122
|
+
|
|
123
|
+
## Cryptography, Encryption, Key, and Secrets Management Policy
|
|
124
|
+
|
|
125
|
+
### Encryption requirements
|
|
126
|
+
|
|
127
|
+
Confidential and Restricted data must use approved encryption in transit over untrusted networks and encryption at rest. Management selects cryptographic methods based on data classification, exposure, technical capability, commitments, and risk, and documents selected methods and configurations in approved standards, procedures, or system records.
|
|
128
|
+
|
|
129
|
+
### Key and secret management
|
|
130
|
+
|
|
131
|
+
Encryption keys and other secrets require:
|
|
132
|
+
|
|
133
|
+
- **Ownership and access:** Named ownership and least-privilege access.
|
|
134
|
+
- **Generation and storage:** Protected generation and storage.
|
|
135
|
+
- **Distribution and use:** Controlled distribution and use.
|
|
136
|
+
- **Rotation and revocation:** Rotation or replacement based on risk and events, and revocation when access or trust ends.
|
|
137
|
+
- **Recovery:** Recoverability when loss would prevent an approved business or recovery process.
|
|
138
|
+
|
|
139
|
+
Plaintext credentials, private keys, tokens, and recovery codes must not appear in source files, tickets, chat, logs, policy records, audit records, or other general-purpose business records. Source-controlled ciphertext may be used when management approves the encryption method, decryption keys are stored separately in an approved secrets-management System, repository access alone cannot decrypt the material, and access and rotation are controlled.
|
|
140
|
+
|
|
141
|
+
## Access Control Policy
|
|
142
|
+
|
|
143
|
+
### Access lifecycle
|
|
144
|
+
|
|
145
|
+
Access requires a documented business need, owner approval, a unique identity, and least privilege. Authorized administrators provision, change, and remove access. Owners review privileged and production access and other important access on the approved schedules. Dormant, expired, excessive, or unneeded access must be removed.
|
|
146
|
+
|
|
147
|
+
### Privileged, shared, and service accounts
|
|
148
|
+
|
|
149
|
+
- **Privileged access:** Limited to approved duties and uses separate administrative identities or roles where technically supported and appropriate to risk.
|
|
150
|
+
- **Shared accounts:** Require a documented technical need, named owner, restricted use, protected credentials, and logging.
|
|
151
|
+
- **Service accounts:** Require a named owner, approved purpose, minimum permissions, protected credentials, lifecycle dates or review, and monitoring appropriate to risk.
|
|
152
|
+
|
|
153
|
+
## Identification, Authentication, and Password Policy
|
|
154
|
+
|
|
155
|
+
### Authentication and passwords
|
|
156
|
+
|
|
157
|
+
Important Systems use approved strong-authentication settings, unique identities, protected credentials, and safeguards against common authentication attacks. Default credentials must be changed or disabled before use. Only authorized administrators may change authentication and lockout settings.
|
|
158
|
+
|
|
159
|
+
Passwords and other authenticators must meet settings approved for the System's risk and technical capability. Users must not reuse company passwords in personal services, share authenticators, or store them in plaintext. Systems protect stored authenticators and recovery material against unauthorized disclosure and use. Management documents password length, composition, reuse, lockout, session, and recovery settings in approved authentication standards or System-specific procedures.
|
|
160
|
+
|
|
161
|
+
### Multi-factor authentication
|
|
162
|
+
|
|
163
|
+
- **Workforce and administrative access:** MFA is required for access to production, source control, email, identity, and Systems that provide access to Confidential or Restricted data.
|
|
164
|
+
- **Customer and external-user access:** MFA is required when an approved Control, customer commitment, or risk decision requires it.
|
|
165
|
+
- **Exceptions:** Where required MFA is unavailable, management must approve a time-bound Exception with a risk assessment, compensating Controls, an accountable owner, and a review or expiration date.
|
|
166
|
+
|
|
167
|
+
## Endpoint, Mobile Device, BYOD, and Malware Protection Policy
|
|
168
|
+
|
|
169
|
+
### Company devices and platform protection
|
|
170
|
+
|
|
171
|
+
Devices used for company work must run supported software, install security updates, require authentication, lock automatically, use encryption and host protections appropriate to the platform, and permit remote removal when company-managed and technically supported. Users must not disable management, security, logging, encryption, or remote-removal safeguards.
|
|
172
|
+
|
|
173
|
+
Platforms may provide continuous native malware and application protection without a user-triggered full scan. Management documents the continuous protections in use and the periodic process that verifies configuration, update, and compliance state. A scheduled scan applies only when the selected technology and risk decision require one.
|
|
174
|
+
|
|
175
|
+
### Personal devices
|
|
176
|
+
|
|
177
|
+
Personal-device access requires prior approval, registration, verified safeguards, defined company-data boundaries, and exit steps. Management may restrict or prohibit personal-device use based on data, access, legal, customer, support, or recovery needs.
|
|
178
|
+
|
|
179
|
+
## Remote Access and Remote Work Policy
|
|
180
|
+
|
|
181
|
+
Remote access to important Systems is limited to authorized users, uses approved encryption and authentication, and is protected in proportion to data, privilege, network trust, and risk. Remote production administration requires MFA and approved access paths. Public or untrusted networks require approved encrypted access and any additional safeguards selected for the risk.
|
|
182
|
+
|
|
183
|
+
Remote workers must protect devices, papers, screens, calls, home networks, and travel locations. Management documents remote-access configuration and session restrictions in approved standards, procedures, or System records.
|
|
184
|
+
|
|
185
|
+
## Physical and Environmental Security Policy
|
|
186
|
+
|
|
187
|
+
Physical access to nonpublic work areas, infrastructure, and protected assets is limited to authorized people. Visitors are controlled and accompanied where sensitive work or information is present. Keys, badges, and other physical access methods are issued, reviewed, recovered, and disabled according to risk.
|
|
188
|
+
|
|
189
|
+
Owners protect important equipment and media against theft, tampering, damage, and environmental conditions relevant to their location. Facilities supplied by Vendors are addressed through Vendor review, contracts, and assurance rather than unsupported claims about facilities {{company_name}} does not operate.
|
|
190
|
+
|
|
191
|
+
## Network and Communications Security Policy
|
|
192
|
+
|
|
193
|
+
Owners restrict inbound, outbound, and internal network paths and management interfaces to approved business needs. They use approved encrypted administrative protocols, disable unnecessary services and ports, protect remote production access, and review material access rules on the approved schedule.
|
|
194
|
+
|
|
195
|
+
Production, development, test, and general-user environments must be separated to the extent needed for their data, exposure, privileges, and change risk. Connections between environments require approved paths and safeguards. Wireless and other local networks used for company work require authentication and encryption appropriate to current risk and technical capability.
|
|
196
|
+
|
|
197
|
+
## Configuration Management and System Maintenance Policy
|
|
198
|
+
|
|
199
|
+
Important Systems and Components use documented secure configuration expectations based on trusted guidance, technical capability, and risk. Owners change or disable unnecessary default accounts, credentials, services, ports, features, and configurations. Deviations require review and, when material, an approved Exception.
|
|
200
|
+
|
|
201
|
+
Configuration and maintenance work must use authorized access, protect credentials and data, record material changes, and validate security and service behavior. Unsupported important Systems or Components are upgraded, isolated, replaced, or retired according to the Asset Management Policy.
|
|
202
|
+
|
|
203
|
+
## Secure Development and Change Management Policy
|
|
204
|
+
|
|
205
|
+
### Change control
|
|
206
|
+
|
|
207
|
+
Software and infrastructure changes must be recorded, tested, approved, deployed through an authorized process, and recoverable in proportion to risk. Use independent pre-deployment review when practical. When team size or urgency makes that separation impossible, record a risk-appropriate compensating or post-deployment review. Use a time-bound Exception when the remaining departure is material.
|
|
208
|
+
|
|
209
|
+
### Security design and development safeguards
|
|
210
|
+
|
|
211
|
+
Material or high-risk designs and changes receive a documented security analysis suited to the change. This may include threat analysis, abuse cases, architecture review, data-flow review, or another approved method. Based on applicability and risk, Development and deployment Controls address protected branches, controlled credentials, dependency and secret detection, input and authorization checks, production-data restrictions, security testing, emergency change review, deployment approval, communication, and rollback.
|
|
212
|
+
|
|
213
|
+
## Vulnerability, Patch, and Penetration Testing Policy
|
|
214
|
+
|
|
215
|
+
### Vulnerability and patch management
|
|
216
|
+
|
|
217
|
+
{{company_name}} monitors trusted sources for vulnerabilities affecting in-scope Systems and Components. Management selects scanning coverage, penetration-testing applicability, remediation targets, and review cadence from exposure, material change, customer commitments, technical capability, and risk. Management documents the selected coverage, targets, cadence, and review decisions.
|
|
218
|
+
|
|
219
|
+
Findings receive validated scope, severity, an owner, treatment, and target date. A missed target requires documented exposure, compensating Controls, a revised date, and risk approval or Exception. Security updates are obtained from trusted sources, tested when appropriate, and applied according to the approved risk-based targets.
|
|
220
|
+
|
|
221
|
+
### Penetration testing
|
|
222
|
+
|
|
223
|
+
Penetration testing is performed when an approved Control, customer commitment, material exposure, significant change, or risk decision requires it. Its independence, scope, method, and cadence must fit the reason for testing. This Policy does not require every System to receive an annual penetration test.
|
|
224
|
+
|
|
225
|
+
## Logging, Monitoring, and Audit Trail Policy
|
|
226
|
+
|
|
227
|
+
### Logging and audit trails
|
|
228
|
+
|
|
229
|
+
Important Systems record and protect the security and operational events needed to investigate misuse, operate the service, and meet approved commitments. Depending on risk, events may include authentication activity, privileged actions, identity and access changes, production changes, access to Restricted data, security alerts, and Control failures.
|
|
230
|
+
|
|
231
|
+
Logs use synchronized time, restrict alteration and access, and avoid unnecessary secrets or personal data. Each System's retention period belongs in the approved Data Retention Schedule. Owners document risk-based alerts, review paths, thresholds, and response ownership in approved standards, procedures, and schedules.
|
|
232
|
+
|
|
233
|
+
### Monitoring and alert testing
|
|
234
|
+
|
|
235
|
+
Systems with availability commitments, recovery objectives, or material operational dependencies monitor the health, capacity, failure, and service indicators needed to detect degradation. Representative alert paths are tested from generation through acknowledgement, escalation, and fallback on the approved schedule and after a material path change. This requirement does not prescribe a particular monitoring or log-management product.
|
|
236
|
+
|
|
237
|
+
## Incident Response Policy
|
|
238
|
+
|
|
239
|
+
The Security Incident and Recovery Plan defines reporting, alternate access, severity, declaration, roles, containment, Evidence handling, notification assessment, communication, recovery, closure, and exercises. Suspected unauthorized access, malware, data loss, credential exposure, service disruption, or security-Control failure must be reported promptly.
|
|
240
|
+
|
|
241
|
+
Reported events receive an owner, assessment, and documented resolution or escalation. Responders preserve relevant Evidence, limit access, coordinate required legal, contractual, privacy, insurance, customer, and regulatory review, validate recovery, and track corrective work. Management exercises the process and representative alert paths on their approved schedules and after material changes when warranted.
|
|
242
|
+
|
|
243
|
+
## Business Continuity and Disaster Recovery Policy
|
|
244
|
+
|
|
245
|
+
Each important System records approved recovery priorities and objectives, dependencies, responsible people, alternate communication and access needs, and a backup or alternate recovery approach. Management selects continuity strategies according to service commitments, business impact, data risk, dependencies, and technical capability.
|
|
246
|
+
|
|
247
|
+
The Security Incident and Recovery Plan records activation, communication, response, recovery, and return-to-normal responsibilities. Management tests continuity and disaster recovery on the approved schedule, records results and findings, and tracks follow-up work.
|
|
248
|
+
|
|
249
|
+
## Backup and Restoration Policy
|
|
250
|
+
|
|
251
|
+
Important Systems use backups or an approved alternate recovery approach that meets their recovery objectives. Management documents backup or alternate-recovery scope, frequency, retention, encryption and access needs, monitoring, failure response, procedures, and test schedules.
|
|
252
|
+
|
|
253
|
+
Backup or recovery access is limited to authorized people and protected from the failures it is intended to address. Restoration or alternate recovery is validated on the approved schedule and after material change when prior results no longer represent the System. Policy adoption does not assert that every System uses daily backups or a fixed retention period.
|
|
254
|
+
|
|
255
|
+
## Vendor, Third-Party, and Supply Chain Risk Management Policy
|
|
256
|
+
|
|
257
|
+
### Due diligence
|
|
258
|
+
|
|
259
|
+
New Vendors receive a risk-based security and privacy review and suitable contractual safeguards before access to Confidential or Restricted data or material reliance by an important service. Reviews consider service scope, data, access, assurance, recovery, incident history, dependencies, supplied Components, and contract terms.
|
|
260
|
+
|
|
261
|
+
### Contract safeguards
|
|
262
|
+
|
|
263
|
+
When applicable to the service and risk, contracts address:
|
|
264
|
+
|
|
265
|
+
- Permitted use and confidentiality.
|
|
266
|
+
- Security responsibilities and incident notice.
|
|
267
|
+
- Access and subprocessor restrictions.
|
|
268
|
+
- Continuity and data return or deletion.
|
|
269
|
+
- Termination.
|
|
270
|
+
- Assurance or audit rights.
|
|
271
|
+
|
|
272
|
+
Management does not require every term for every Vendor, but records omissions that create material risk or conflict with an approved commitment.
|
|
273
|
+
|
|
274
|
+
### Existing Vendors and ongoing monitoring
|
|
275
|
+
|
|
276
|
+
For a Vendor already in use when this Policy becomes effective, the owner records a transition review and deadline or an approved risk acceptance. Policy adoption does not imply that a historical pre-access review occurred. Management documents Vendor monitoring cadence and change-driven reassessment windows in approved Vendor-management procedures and schedules.
|
|
277
|
+
|
|
278
|
+
## Exceptions, Compliance, Enforcement, and Policy Review
|
|
279
|
+
|
|
280
|
+
### Exceptions and enforcement
|
|
281
|
+
|
|
282
|
+
An Exception requires a specific scope and reason, risk assessment, compensating Controls, accountable owner, approval, and expiration or review date. Violations may result in access removal, corrective action, contract remedies, or other action allowed by law and agreement.
|
|
283
|
+
|
|
284
|
+
### Policy review
|
|
285
|
+
|
|
286
|
+
The Policy Owner reviews this Policy on the approved schedule and after a material change to services, Systems, risks, commitments, or obligations. The independent reviewer approves each revised version. The organization retains the reviewed Policy version, approval, effective date, and change history under its document-control process.
|
|
287
|
+
|
|
288
|
+
### Representations
|
|
289
|
+
|
|
290
|
+
Questionnaire, customer, auditor, and management representations must reflect the Policy revision, actual Control status, scope, Exceptions, and available Evidence. The presence of this consolidated Policy or one of its section headings does not justify answering that a Control is implemented when it is planned, partial, not applicable, or unsupported by Evidence.
|