Only when the simpler primitives are easier to govern for the task. Files, grep and paging often improve transparency and composability, but they still need policy, logging and access boundaries. The choice is not between old and new technology. It is between a memory design the programme can explain and one it cannot.
Why simpler file and Unix-style primitives can be easier to govern
Files, pipes and small command-line tools often make memory state easier to inspect, reproduce and audit than larger in-memory abstractions. That is not because they are inherently safer, but because the data flow is visible, the boundaries are clearer, and the programme can usually explain what happened after the fact. For security teams, that transparency matters when access, retention and traceability are part of the design.
The practical advantage is composability. When a task can be split into discrete steps, each step can be logged, reviewed and constrained more cleanly than a monolithic process that holds hidden state. A simpler primitive can also reduce accidental privilege spread, because the system does less implicitly and exposes fewer internal shortcuts that need to be trusted.
Preference should therefore be driven by governability, not nostalgia. If a file-based workflow makes policy enforcement, peer review and rollback easier, it is often the better engineering choice. If a memory abstraction is required for performance or correctness, the burden shifts to proving that the control plane can still observe, bound and recover it.
Where the trade-off turns into a control decision
The main question is whether the programme can define the data lifecycle clearly enough for the chosen design. Files and Unix-style tools tend to work well when inputs are bounded, transformations are understandable and outputs can be retained or reprocessed. Large memory abstractions become harder to justify when they hide intermediate state that operators need for debugging, audit or incident response.
This is why the choice is not really old versus new technology. It is a control decision about explainability, operational support and failure containment. A design that is easy to reason about usually makes it easier to set access boundaries, monitor data movement and prove that a process did only what it was supposed to do.
That said, simplicity has a ceiling. A file-centric approach can become fragile if teams use it to avoid designing proper interfaces, ownership or validation. The question is not whether a primitive is traditional, but whether it gives the programme a smaller and more governable attack surface for the same business outcome.
What a prudent architecture team should optimise for
Use the simplest mechanism that still lets you enforce policy and understand impact. If a workflow needs durable state, human review, reproducible results or clear handoffs between tools, files and standard Unix utilities can be a strong fit. If the task depends on low-latency shared state, high-volume coordination or complex runtime semantics, then the richer abstraction may be justified, but it should come with explicit controls for logging, access and rollback.
Good design is usually visible in what an operator can answer quickly: what changed, who or what changed it, where it went, and how to reverse it. The more those answers depend on internal program memory or undocumented side effects, the less governable the system becomes.
Risk and Threat Considerations
When state lives only in memory, teams can lose observability, recoverability and control over what data existed, who accessed it, and whether it was transformed or exfiltrated. The risk is strongest when hidden state contains sensitive inputs, credentials, decisions or derived outputs that never pass through logged, reviewable boundaries.
Failure mechanism: Hidden or ephemeral state bypasses the usual points where policy, logging, access checks and review are applied, so compromise, misuse or accidental leakage is harder to detect and harder to reconstruct after an incident.
Impact: Incident response becomes weaker, audit evidence becomes thinner, and the blast radius of a coding mistake or malicious action can widen because operators cannot reliably prove what the system held or did at each step.
Standards & Framework Alignment
This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.
CIS Controls v8 and NIST CSF 2.0 set the technical controls, while ISO/IEC 27001:2022 defines the regulatory obligations.
| Framework | Control / Reference | Relevance |
|---|---|---|
| CIS Controls v8 | CIS-5 — Account Management | Simple file workflows still need controlled access and accountable use of data. |
| Recommendation — Enforce account and access controls around file-based workflows and their data boundaries. | ||
| NIST CSF 2.0 | PR.AA-05 — Managed Access to Assets and Associated Functions | The question turns on how easily the design can be governed and access-bounded. |
| Recommendation — Apply managed-access controls to the state, files and tools in the workflow. | ||
| ISO/IEC 27001:2022 | A.5.15 — Access control | The choice between primitives is materially about whether access boundaries are easier to enforce. |
| Recommendation — Select the design that supports clearer access control and stronger enforcement points. | ||
Practitioner Guidance
What to prioritise: Choose the representation that gives you the clearest control points for the exact workload. If the team cannot explain how state is created, inspected, bounded and destroyed, the design is too opaque for production.
What to verify: Confirm that the chosen approach preserves auditable boundaries, supports access restrictions on the underlying data, and leaves enough artefacts for troubleshooting and incident review. If those properties disappear when you move from files to memory, you need compensating controls, not optimism.
Trade-off: Simpler primitives can reduce governance overhead, but they do not remove the need for policy. The most common mistake is assuming that a small toolchain is automatically safe when the real issue is whether the state remains observable and attributable.
Practitioner takeaway: Prefer the design that makes control easier to prove, not the one that feels most modern. If the programme can govern files and streams more cleanly than opaque in-memory state, simplicity is a security and operations advantage.
Related resources from NHI Mgmt Group
- When should organisations prefer JWKS over static PEM files for JWT verification?
- When should organisations prefer small language models over larger models in agent workflows?
- Why do organisations prefer tenant local Azure management models over legacy tools that pull data into a vendor system?
- Should organisations prefer open source for credential management over closed source tools?