Skip to content
Open menuClose menu

Control map · Trust Services Criteria (2017)

SOC 2

Code evidence for access, boundary and confidential-data criteria on every pull request, and process evidence for change approvals from every merge.

SOC 2 · Trust Services Criteria (2017)15 criteria in scope · as mapped in v1.4.1
  • Code 6
  • Process 1
  • Planned 8

Code evidence

6criteria checked on every pull request

Live (process)

1from merges, approvals, rule changes, and deployments and releases recorded by GitHub

Planned

8can be evidenced from code or GitHub; not built yet

Organisation-level criteria

Policies, people, vendors, physical security and the like, listed below.Managed by your organisation’s workflows

A SOC 2 Type II report tests whether controls operated throughout a period. Change approvals are usually where engineering teams spend the most audit time, assembling tickets and screenshots for a sample of changes.

The SOC 2 blueprint gives code evidence for the access, boundary and confidential-data criteria on every pull request. Every pull request merged into the default branch is sealed as a change record with its approvals, checks and signatures: evidence for CC8.1. The full map is below, with the organisation-level criteria listed after it.

Toevan gives evidence for controls; it never certifies them or claims a framework is covered. Whether the evidence is sufficient is your auditor’s judgement. Controls are shown by id with Toevan’s own short names; the official titles and requirement text belong to the framework’s publisher.

Code evidence6

Sealed on every pull request. Always partial: the control also asks for things outside code. Rules in the SOC 2 blueprint check part of each on every pull request.

  • CC6.1Access limit designCC6 Access protection
  • CC6.3Role permission changesCC6 Access protection
  • CC6.6Outside threat defenseCC6 Access protection
  • CC6.7Data movement limitsCC6 Access protection
  • C1.1Confidential data markingC1 Confidential data
  • C1.2Confidential data disposalC1 Confidential data

Live (process)1

Merged pull requests, approvals, required checks, branch protection, rulesets and bypasses, and deployments and releases recorded by GitHub, each sealed.

  • CC8.1Change approvalsCC8 Change handlingProcess evidence: every pull request merged into the default branch is sealed as a change record with its approvals on the final commit, the required checks at merge, who merged it, its signatures and the code verdicts it carried.

Change record rec_5b81d4e

example data
Pull request  payments-api #1921 · Add tenant check to refund handlerReported + sealed
Approvals  9d07…e3a4, c58f…71d0 · both on final commit e81b2d0Reported + sealed
Independent of author  Yes, by GitHub account idRecomputed
Required checks  ci/test ✓ · ci/lint ✓ · toevan/gate ✓Reported + sealed
Rules in force  main-protection: 2 approvals, required checks, signed commitsReported + sealed

Planned8

Can be evidenced from code or GitHub. No rule checks these yet; each is planned, and none counts as evidence today.

  • CC6.2User credential issuingCC6 Access protection
  • CC7.1Weakness drift watchingCC7 Security operations
  • CC7.2Anomaly watchingCC7 Security operations
  • A1.2Backup safeguardsA1 Capacity and backup
  • PI1.2Complete accurate inputsPI1 Processing accuracy
  • PI1.3Processing loss errorsPI1 Processing accuracy
  • P4.2Personal data retentionP4 Use and keeping
  • P4.3Personal data disposalP4 Use and keeping

Organisation-level criteria

Organisation-level controls (policies, people, vendors, physical security and the like) stay with your organisation’s own process; Toevan does not cover them.

Show the list

CC1 Leadership conduct

CC1.1Conduct commitmentorganisational policy
CC1.2Board oversightorganisational policy
CC1.3Reporting linesorganisational policy
CC1.4Capable staff hiringpeople and HR
CC1.5Duty answerabilitypeople and HR

CC2 Information sharing

CC2.1Good control informationorganisational policy
CC2.2Staff duty briefingsorganisational policy
CC2.3Outside party talksorganisational policy

CC3 Risk review

CC3.1Risk goalsorganisational policy
CC3.2Risk weighingorganisational policy
CC3.3Fraud risk revieworganisational policy
CC3.4Change impact revieworganisational policy

CC4 Control monitoring

CC4.1Ongoing control reviewsan operational process
CC4.2Weakness reportingan operational process

CC5 Control selection

CC5.1Risk cutting controlsorganisational policy
CC5.2Technology control choicesorganisational policy
CC5.3Rolled out policiesorganisational policy

CC6 Access protection

CC6.4Physical entry limitsphysical security
CC6.5Asset data disposalphysical security
CC6.8Unwanted software blockingan operational process

CC7 Security operations

CC7.3Event judgingan operational process
CC7.4Incident response stepsan operational process
CC7.5Incident recovery learningan operational process

CC9 Vendor risk

CC9.1Disruption risk reductionorganisational policy
CC9.2Vendor risk managementcontracts and vendors

A1 Capacity and backup

A1.1Capacity watchingan operational process
A1.3Recovery testingan operational process

PI1 Processing accuracy

PI1.1Defined processing goalsan operational process
PI1.4Output delivery reviewan operational process
PI1.5Stored item integrityan operational process

P1 Notice duties

P1.1Privacy noticeorganisational policy

P2 Choice duties

P2.1Consent choicesorganisational policy

P3 Collection duties

P3.1Lawful collectionorganisational policy
P3.2Explicit sensitive consentorganisational policy

P4 Use and keeping

P4.1Stated purpose limitsorganisational policy

P5 Individual requests

P5.1Access request answersan operational process
P5.2Correction handlingan operational process

P6 Sharing duties

P6.1Consent before sharingorganisational policy
P6.2Sharing recordsorganisational policy
P6.3Unauthorized sharing recordsorganisational policy
P6.4Vendor privacy commitmentscontracts and vendors
P6.5Vendor incident reportingcontracts and vendors
P6.6Breach noticesregulatory procedure
P6.7Sharing accountingan operational process

P7 Data quality

P7.1Accurate personal dataan operational process

P8 Complaint handling

P8.1Complaint handlingan operational process

Using it in an audit

  1. Take the population from the change records

    Every pull request merged into the default branch and every push to a protected branch that no merged pull request explains, in the period, captured from GitHub as it happened, is a sealed record you can export for sampling. You can re-perform the default branch’s population from git history; designated production branches are planned.

  2. Read the code evidence for the period

    Each pull request carries sealed code results against the blueprint’s rules, pinned to the commit and the rule-set version in force.

  3. Test a sample

    For each sampled record, check its results, then verify it offline against the published key with openssl and the shell: get the evidence, confirm the key, check the record. To replay the whole chain, Toevan provides the toevan command on request; it is not yet public.

    The three steps, with the exact commands

How each fact was obtained6 labels
Recomputed
Toevan computed it from the code or git history itself.
Reported + sealed
GitHub reported it; Toevan captured it at the event and signed it.
Declared + sealed
The organisation declared it, such as a change to what is checked; Toevan signed the declaration and its history.
Toevan record, not sealed
Held in Toevan’s database but not sealed in the ledger, such as a waiver today. Nothing protects it by a signature.
Consumed
Taken from GitHub’s deployment and release records and linked by commit or digest.
Not captured
No reliable source was available. Toevan does not infer it.
CC8.1Change approvalsTest sheet · example data
Population148 changes: 146 merged pull requests and 2 direct pushes
Recomputed listed from git history and matched to the sealed records
Sample25 drawn by the auditor, each a sealed record
ApprovalsReported + sealed from GitHub at merge, independent of the author
ExceptionsNo PR 2 direct pushes on 19 SepGap review requirement off for 29 minutesBoth are in the record.
Signatures25 / 25 ✓ Verified OK
The sample change evidence report shows the evidence as your auditor receives it, with every fact labelled.Open the sample report

Test the mapping on a real audit.

Bring one repository and an upcoming audit. We’ll set up the blueprint and walk your auditor through verification.

  • One repository, one framework
  • Evidence from the first pull request
  • Verifiable without a Toevan account