SOC 2 Control Implementation Guide

Change Management

Change Documentation and Traceability for SOC 2

Each production-impacting change has a ticket-of-record with business/security rationale, affected systems, approver, test evidence, deployment evidence, and rollback plan.

Use this guide to put the control into operation, decide what records to retain, and check that an auditor can trace the evidence back to the work your team performed.

Maintained by GreenHat Security ยท Reviewed August 21, 2026

What this control should accomplish

Every production-impacting change can be traced from its business or security reason through review, testing, deployment, validation, and rollback planning.

First SOC 2 program

A credible starting point

Use one change ticket linked to the pull request and deployment run; require the engineer to complete a short risk, test, and rollback checklist before merge.

As the company scales

Make it repeatable

Integrate ticketing, source control, and deployment identifiers, then report on changes missing approvals, tests, validation, or emergency-change follow-up.

How to implement Change Documentation and Traceability

  1. 1

    Define the change record

    Specify the required rationale, affected service, risk, approver, test result, deployment reference, and rollback method for each production-impacting change.

    You should end up with: Approved change-record fields and completion checklist

  2. 2

    Connect engineering records

    Require tickets, pull requests, commits, build runs, and deployment runs to reference one another with stable identifiers.

    You should end up with: End-to-end trace for a representative change

  3. 3

    Capture deployment completion

    Record who or what deployed the change, when it reached production, and the result of the post-deployment check.

    You should end up with: Timestamped deployment and validation record

  4. 4

    Reconcile the population

    Compare production deployment logs with completed change tickets and investigate unmatched or incomplete records.

    You should end up with: Periodic deployment-to-ticket reconciliation

Evidence to keep, and what it should prove

Build the evidence set in three layers: what defines the control, who approved or reviewed it, and what proves it operated. Collect operating records when the work happens so they remain dated, attributable, correctly scoped, and traceable to the underlying activity.

Before sharing, remove unrelated personal or customer data, never expose passwords, tokens, or secret values, preserve enough source context to authenticate the record, and use the secure exchange approved for the engagement.

Policy / design artifacts

Documents that define the control, its scope, ownership, and expected way of working.

rollback plans

  • Confirm what the record proves

    The team identified specific reversal steps, decision triggers, ownership, and validation before deployment.

  • Include this context

    Change ID

  • Include this context

    Rollback trigger

  • Include this context

    Prior version or recovery action

  • Include this context

    Responsible role

  • Include this context

    Validation step

  • Include this context

    Estimated decision point

Weak evidence to avoid

A plan that says 'revert if needed' without a version, trigger, owner, or verification step.

Operating / technical evidence

Dated proof that the control actually ran, such as tickets, logs, settings, exports, reports, and test results.

Change tickets

  • Confirm what the record proves

    The reason, affected production scope, risk decision, owner, approvals, and planned execution were recorded before the change closed.

  • Include this context

    Ticket ID

  • Include this context

    Affected service

  • Include this context

    Business or security rationale

  • Include this context

    Risk rating

  • Include this context

    Approver and approval time

  • Include this context

    Implementation result

Weak evidence to avoid

A ticket titled 'deploy update' with no affected service, approval history, test link, or deployment result.

PRs

  • Confirm what the record proves

    The production revision received review and links the proposed code or configuration to its change record.

  • Include this context

    Pull-request ID

  • Include this context

    Repository

  • Include this context

    Author

  • Include this context

    Reviewed commit

  • Include this context

    Approval event

  • Include this context

    Linked ticket

Weak evidence to avoid

A merged pull-request screenshot that omits the commit, reviewer, timestamps, and linked change.

commits

  • Confirm what the record proves

    The exact source revisions included in the production change are identifiable and attributable.

  • Include this context

    Commit hash

  • Include this context

    Repository

  • Include this context

    Author

  • Include this context

    Commit time

  • Include this context

    Parent or branch

  • Include this context

    Release reference

Weak evidence to avoid

A pasted commit message without a repository, full hash, author, or deployed-release link.

pipeline IDs

  • Confirm what the record proves

    The approved revision passed through an identifiable build and release workflow.

  • Include this context

    Pipeline ID

  • Include this context

    Source revision

  • Include this context

    Triggering actor

  • Include this context

    Start and completion time

  • Include this context

    Environment

  • Include this context

    Result

Weak evidence to avoid

A green status icon with no run ID, revision, environment, or execution history.

deployment logs

  • Confirm what the record proves

    The change reached the intended production environment through an attributable deployment event with a recorded outcome.

  • Include this context

    Deployment ID

  • Include this context

    Environment

  • Include this context

    Artifact or revision

  • Include this context

    Deploying identity

  • Include this context

    Timestamp

  • Include this context

    Outcome

Weak evidence to avoid

A console screenshot saying deployment succeeded without the artifact, actor, environment, or time.

Which records should you prepare for the audit?

Type 1

Evidence at the as-of date

Retain the current change-record requirements and one recent production deployment traced through ticket, reviewed revision, tests, deployment, validation, and rollback planning as of the selected date.

Type 2

Evidence across the review period

Export every production deployment attempt during the period, including successful, failed, rolled-back, manual, and emergency activity, then attach its pull request, change ticket, approval, test results, and validation outcome.

Completeness check

Start with the production deployment export and cloud change events; reconcile every row to a pull request and ticket, then account for direct, emergency, failed, and rollback paths explicitly.

Build the record set from

  • โ€ข Production deployment platform
  • โ€ข CI/CD history
  • โ€ข Source control
  • โ€ข Change ticketing
  • โ€ข Cloud audit logs

Keep these fields for each record

  • โ€ข Deployment ID
  • โ€ข Timestamp
  • โ€ข Production environment
  • โ€ข Artifact or commit
  • โ€ข Actor
  • โ€ข Ticket and pull-request IDs
  • โ€ข Approval
  • โ€ข Outcome
  • โ€ข Emergency or rollback flag

How an auditor may test this control

Use this checklist to prepare for procedures an auditor may perform. The exact steps and sample selection depend on your engagement scope and the service auditor's professional judgment.

  • Confirm the intended control outcome

    Determine whether the control is designed to achieve this result: Every production-impacting change can be traced from its business or security reason through review, testing, deployment, validation, and rollback planning.

  • Confirm ownership and operating cadence

    Compare the documented owner with the intended role (Head of Engineering / Platform Owner), then compare dated records with the stated cadence: Per change.

  • Establish the complete audit record set

    Start with the production deployment export and cloud change events; reconcile every row to a pull request and ticket, then account for direct, emergency, failed, and rollback paths explicitly.

  • Prepare the as-of-date evidence for a Type 1 engagement

    Retain the current change-record requirements and one recent production deployment traced through ticket, reviewed revision, tests, deployment, validation, and rollback planning as of the selected date.

  • Prepare period evidence for a Type 2 engagement

    Export every production deployment attempt during the period, including successful, failed, rolled-back, manual, and emergency activity, then attach its pull request, change ticket, approval, test results, and validation outcome.

  • Inspect the policy / design artifacts

    Documents that define the control, its scope, ownership, and expected way of working.

    • Inspect rollback plans

      For each selected record, confirm it demonstrates The team identified specific reversal steps, decision triggers, ownership, and validation before deployment.

      • Change ID
      • Rollback trigger
      • Prior version or recovery action
      • Responsible role
      • Validation step
      • Estimated decision point
  • Inspect the operating / technical evidence

    Dated proof that the control actually ran, such as tickets, logs, settings, exports, reports, and test results.

    • Inspect Change tickets

      For each selected record, confirm it demonstrates The reason, affected production scope, risk decision, owner, approvals, and planned execution were recorded before the change closed.

      • Ticket ID
      • Affected service
      • Business or security rationale
      • Risk rating
      • Approver and approval time
      • Implementation result
    • Inspect PRs

      For each selected record, confirm it demonstrates The production revision received review and links the proposed code or configuration to its change record.

      • Pull-request ID
      • Repository
      • Author
      • Reviewed commit
      • Approval event
      • Linked ticket
    • Inspect commits

      For each selected record, confirm it demonstrates The exact source revisions included in the production change are identifiable and attributable.

      • Commit hash
      • Repository
      • Author
      • Commit time
      • Parent or branch
      • Release reference
    • Inspect pipeline IDs

      For each selected record, confirm it demonstrates The approved revision passed through an identifiable build and release workflow.

      • Pipeline ID
      • Source revision
      • Triggering actor
      • Start and completion time
      • Environment
      • Result
    • Inspect deployment logs

      For each selected record, confirm it demonstrates The change reached the intended production environment through an attributable deployment event with a recorded outcome.

      • Deployment ID
      • Environment
      • Artifact or revision
      • Deploying identity
      • Timestamp
      • Outcome
  • Trace the control from design to operation

    Use the categories that apply to this control: connect any policy or design artifact to its approval or review record, then trace a selected operating record through execution, result, and any exception or remediation.

Common implementation and evidence gaps

  • Pull requests exist but do not identify the business reason or affected production service.
  • Rollback instructions say only to revert and are not usable during an incident.
  • Manual console changes never reach the ticket population.
  • Post-deployment validation is performed but not recorded.

Before you call this control ready

  • Can a reviewer select a deployment and find its ticket, approval, tests, and rollback plan?
  • Does the change population include pipeline, console, configuration, and infrastructure changes?
  • Are emergency changes documented and reviewed after restoration?
  • Can the team explain every unmatched deployment in the latest reconciliation?

Trust Services Criteria references

These identifiers help you navigate related Trust Services Criteria. They do not reproduce the criteria or prove that this control fully addresses them in your environment.

  • CC8.1

Confirm final scope, mappings, and testing expectations with your service auditor. SOC 2ยฎ is an AICPA trademark; GreenHat Security is not affiliated with or endorsed by AICPA.