Skip to content

Policy Update Procedure

Applies to all documents in Meridian7-io/m7-security: policies (policies/), procedures (procedures/), and guides (guides/).

Review TypeFrequencyOwner
Annual reviewEvery 12 months from effective datePolicy owner
Triggered reviewAfter significant incident, org change, or regulatory updateCISO
Ad-hoc updateAs needed for corrections or clarificationsPolicy owner

  1. Switch to staging branch in m7-security.
  2. Edit the policy markdown file(s).
  3. Update Last Reviewed to today.
  4. Update Effective Date if this is a material change.
  5. Add a new row to Version History describing the change.
  6. Commit and push to staging.
  1. Open a PR from stagingmain.
  2. Fill in the change summary and impact assessment.
  3. CI automatically validates: Owner/Reviewer fields present, Last Reviewed is current, Version History section exists. CI also generates preview PDFs as PR artifacts.
  1. A reviewer other than the PR author must approve — branch protection enforces this.
  2. Reviewer: download and review preview PDFs from CI artifacts; verify consistency with related policies; confirm PR description accurately describes the change.

On merge to main, GitHub Actions automatically:

  1. Creates the next Git tag.
  2. Generates final PDFs with version, commit SHA, and repository injected.
  3. Creates a GitHub Release with PDFs attached.

No manual steps required after merge.

  1. Notify all personnel of material changes via Slack #general.
  2. For new policies or significant changes, require re-acknowledgment within 30 days.
  3. Update linked GitHub issues on the SOC 2 project board if the change relates to control work.

Versions are GitHub Release tags created automatically on each merge to main. Version numbers are never manually maintained in source markdown — injected into PDFs at generation time.

ConceptMechanism
Version numberGit tag (auto-incremented)
Change justificationPull Request description
Approval recordPR review approval (non-author)
Audit trailGit commit history + GitHub Releases
Published artifactPDF attached to GitHub Release

Every published PDF contains Version, Commit SHA, and Repository in its Document Control table, traceable to the exact source, PR, and approval.


ArtifactLocation
Source markdown (authoritative)policies/*.md
Proceduresprocedures/*.md
Guidesguides/*.md
Published PDFsGitHub Release attachments
Browsable policiesGitHub Pages (m7-security)
PDF generatorpolicies/generate-pdfs.py
BranchPurposeProtection
mainProduction — published policiesPR required, non-author approval, signed commits
stagingDraft changesOpen for direct push

Meridian Seven — Confidential