Integrations / Version control & CI
How do you collect SOC 2 and ISO 27001 evidence from Azure DevOps?
Quick answer
Azure DevOps is where change management gets proved, because SOC 2 CC8.1 asks you to show that a change was reviewed and authorized before it reached production, and the pull request and pipeline record is what shows it. Having Azure DevOps is not the control. The control is the enforced configuration, such as a blocking branch policy on the default branch and a minimum reviewer count that excludes the author, plus the record that the configuration operated across the whole audit period. Screenata runs 7 native checks against that configuration on a schedule and turns each result into signed evidence mapped to the control it satisfies.
Screenata connects to Azure DevOps read-only and runs 7 native checks across your projects: pipeline security, branch policies, and project RBAC. Each finding becomes a signed, timestamped evidence artifact mapped to SOC 2, HIPAA, and ISO 27001 controls through a shared control catalog.
7 native checks · read-only · signed evidence
What it proves
Azure DevOps evidence, mapped to controls.
Policy enforcement on production branches, including whether merges require review, verified per project.
Proof that code cannot reach production without review, the enforcement layer of change management.
Pipeline security settings, verified against the configuration your deployment controls describe.
Findings that the path from commit to production enforces the gates your policies claim.
Role assignments across projects and whether access follows least privilege.
Proof that access to code and pipelines is scoped, matching your access control policy.
Control references are the requirements each evidence area supports, via the shared control catalog. Your auditor decides sufficiency; the artifacts are theirs to verify.
Compliance checks
What Screenata checks on Azure DevOps, and why each matters.
Default branch protected by policy
Without a blocking branch policy, code can reach the default branch with no enforced review gate. An auditor verifies that every active repository has an enabled blocking policy on its default branch.
Minimum reviewer count
If merges allow zero reviewers or self-approval, changes ship without independent review. An auditor verifies that the default branch requires at least one approver and blocks self-approval.
Approvals reset on new commits
An approval that survives later commits can wave through code no one actually reviewed. An auditor verifies that approvals reset when new commits are pushed.
No plaintext secrets in pipeline YAML
Hardcoded credentials in pipeline YAML leak through the repository and its history. An auditor verifies that pipelines use secret variables and variable groups instead of inline secrets.
Pipeline has an approval or environment gate
A deploy with no approval or environment gate can push to production without authorization. An auditor verifies that pipelines reference an environment with approvals or a manual validation step before deploy.
Service connections scoped to project
A service connection shared across projects grants credentials more reach than any one project needs. An auditor verifies that service connections are scoped to the project that uses them.
Service connections current
A service connection with an expired secret or a deprecated auth scheme is a stale credential that widens exposure. An auditor verifies that service connections are current and not flagged as outdated.
Drawn from Screenata’s Azure DevOps check library. Control refs are the requirements each check produces evidence for; your auditor decides sufficiency.
How it connects
Read-only, revocable, yours.
Read-only by construction
OAuth scopes and IAM roles are scoped to read. Vera never gets write access to your systems.
Signed findings
SHA-256 per artifact, RSA/ECDSA signatures, RFC 3161 timestamps. Verifiable without a Screenata account.
Mapped to controls
Each finding lands on the shared control catalog, so one scan satisfies SOC 2, HIPAA, and ISO 27001 at once.
What access does Screenata need to Azure DevOps?
A read-scoped access token that you create and control. Scans read project configuration, policies, and role assignments; code is never persisted, and you can revoke the token at any time.
Does Azure DevOps evidence overlap with the Azure integration?
They cover different layers. The Azure integration scans your subscription infrastructure; this one covers the software delivery chain: branch policies, pipelines, and project access. Both feed the same control catalog, so nothing is collected twice.
What happens when an Azure DevOps check fails?
Vera opens a ticket describing the failing configuration and re-verifies after a human applies the fix. Nothing in your projects is changed by Screenata; the connection is read-only by construction.
What are the steps to implement SOC 2 with Azure DevOps?
First, create a read-scoped access token covering the projects in scope and connect it. Second, let the first scan run so the baseline reflects how your repositories and pipelines are actually configured. Third, fix what fails: enable a blocking branch policy on every active default branch, set a minimum reviewer count of at least one and block self-approval, reset approvals when new commits are pushed, put an approval or environment gate in front of production deploys, move any plaintext secrets out of pipeline YAML into secret variables or variable groups, and scope service connections to the project that uses them. Fourth, leave the scheduled scans running so passing results accumulate as signed evidence across the observation window, which for a Type 2 report is usually three to twelve months. Fifth, hand the evidence package to an independent auditor. The audit is a separate engagement with a licensed CPA firm, which issues the report; Screenata prepares and holds the evidence it asks for.
What evidence do auditors ask for about change management?
They pick a sample of merged changes and expect four things for each one. That a review happened before the merge, not after. That an enforced branch policy made the review mandatory rather than a convention people follow. That the approver was someone other than the author. And that the record covers the whole audit period, not a screenshot taken the week before fieldwork. Default branch protected by policy and Minimum reviewer count show the enforcement and the block on self-approval, Approvals reset on new commits shows the approval applied to the code that actually merged, and the pipeline approval or environment gate shows the deploy itself was authorized.
Do auditors accept evidence Screenata collects from Azure DevOps?
Yes. Every finding is exported as a signed, timestamped artifact, a SHA-256 hash with an RSA or ECDSA signature and an RFC 3161 timestamp, that an auditor verifies outside Screenata with a free CLI. A person reviews and approves the evidence before it reaches the auditor. Screenata collects and signs it; it does not decide the audit result.
Connect and see
Fifteen minutes after connecting Azure DevOps, you know your real posture.
Related: Azure · Microsoft 365 · GitHub · GitLab