My first blog workflow was a Git-tracked folder of Markdown. It was simple, transparent, reviewable, portable, and appropriate for the work it supported. A file-based source of truth is not a failure mode. For a modest publishing workflow, it may be the best design.

The architecture question changed only when the workflow needed stronger guarantees: explicit lifecycle state, concurrent contributors with different permissions, structured review evidence, clear provenance, richer queries, controlled integrations, reliable publication controls, and a durable record of why a decision was made.

At that point, the important choice was not “database versus files.” It was whether the source of truth could enforce the workflow the team actually needed.

Start with the control model

Before choosing technology, define the work that the system must control.

RequirementQuestions to answer
LifecycleWhat states exist? Which transitions are valid? Who may request, approve, or execute them?
AuthorityWhat can each human, service, or tool read, propose, edit, approve, publish, or archive?
ReviewWhat evidence is required? Which findings block release? Who resolves or accepts risk?
ProvenanceCan a reader trace a claim to approved sources, review evidence, and a human decision?
Privacy and retentionWhat data is permitted, how is it classified, how long is it retained, and how is it deleted or recovered?
PublishingWhat final authorization is required, how is it recorded, and how is the public result verified?
OperationsHow are failures, retries, monitoring, backups, recovery, incidents, and changes handled?

Files, a database, a content-management system, or a hybrid design can support parts of this model. The right option depends on scale, collaboration, existing controls, accessibility, cost, operational capacity, regulatory obligations, and the risk of a bad release.

Files are not inherently ungoverned

A repository can offer strong version history, code review, protected branches, schema validation, content checks, and reproducible builds. Structured metadata can be validated before publication. For many teams, that is enough.

The limitations appear when the workflow needs durable structured state across many contributors or systems, when queries and reporting become central, when different actors need field-level or transition-level authority, or when a change must be recorded as more than a file diff. A database can make those needs easier to model, but it does not provide security or governance by itself.

A schema constraint catches certain invalid values. It does not replace authentication, authorization, row-level or service-level access checks, change approval, audit controls, privacy review, input validation, rate limits, secret management, monitoring, backups, incident response, or human accountability.

Make the lifecycle explicit

A content item may move through stages such as intake, research, draft, editorial review, legal or safety review where applicable, ready for release, published, corrected, and archived. The labels are less important than clear definitions and controlled transitions.

A structured system should record:

  • the authoritative content version and its source references;
  • the current state and allowed next transitions;
  • the roles and approvals required for a transition;
  • reviewer findings, disposition, and evidence;
  • the source date and public display date where relevant;
  • provenance, authorship, and revision history;
  • publication destination and verification result; and
  • retention, correction, takedown, and archival rules.

This state should be designed for people first. Automation can assist with collection, classification, draft preparation, duplicate detection, formatting, or review checklists, but it should operate under narrow permissions and be able to fail safely.

AI assistance is not a publishing authority

AI-generated material can be incomplete, stale, biased, fabricated, or inappropriate for the intended audience. It should enter the workflow as labeled draft material with clear source boundaries and no authority to approve, publish, change permissions, or take consequential external actions.

A safe design limits each automated component to the data and fields needed for its task. It validates inputs and outputs, preserves useful provenance, protects sensitive content, detects anomalous activity, logs meaningful events, supports human review and override, and treats an unavailable or uncertain service as a reason to pause rather than invent certainty.

The final release decision should remain an explicit human and policy-controlled act. A successful build, a passing automated review, or a completed task is evidence-not permission to publish.

Migration should be staged and reversible

When moving from one source of truth to another, preserve the old system until the new one has been validated. Classify the data first, define the schema and retention rules, map each field deliberately, run dry migrations in a representative environment, check record counts and semantic outcomes, reconcile differences, test backups and recovery, and keep a rollback path.

Do not treat a migration as a one-time import. It is a change to the organization’s trust boundary and operating model.

The practical decision

Use a simple file workflow when it provides the controls and visibility the work needs. Add structure only where it solves a demonstrated problem. Move to a database or another workflow system when you need explicit state, controlled concurrent roles, richer queries, durable audit evidence, or integrations that a file-centric process cannot reliably support.

The source of truth is not the folder or the table. It is the place where the organization can correctly answer: what is this content, where did it come from, who may change it, what evidence supports it, what state is it in, and who is responsible for releasing it?