SOC 2 Trust Services CriteriaSupported

SOC 2 compliance automation with evidence you can verify

Your enterprise customer wants a SOC 2 report. Meiyam tracks the 38 criteria of the Security, Availability and Confidentiality categories, checks the ones configuration can prove with automated rules, and shows for every criterion whether a rule, a document or nothing yet evidences it. Evidence is sealed as it is collected, so you can show your auditor it has not changed since.

Register interestFree trial opens at launch

SOC 2 criteria

8 of 38

checked by automated rules

  • Automated rules 8
  • Documents 30
Security, Availability and Confidentiality: 38 criteria. Automated rules check 8 of them on every scan; policies and records evidence the rest.
See every criterion

SOC 2 at a glance

The figures behind Meiyam's SOC 2 coverage, read from the product's rules and criteria catalogue.

Automated rules, run on every scan you start or a GitHub change triggers.
77
Each maps to SOC 2 and ISO 27001
Live integrations, every one read-only.
7
Each lists its access before you connect
Criteria shown as passing without evidence.
0
Every criterion starts unproven
Policy templates that between them address every criterion Meiyam tracks.
23
Each mapped to both frameworks

SOC 2 in brief

A SOC 2 report is an independent CPA firm's examination of your controls against the AICPA Trust Services Criteria; Meiyam prepares the evidence and issues no opinion.

SOC 2 is an examination of the controls at a service organisation, reported against the Trust Services Criteria published by the AICPA. Enterprise buyers ask for the report because it gives them an independent view of how a supplier protects the systems and data they depend on.

Every SOC 2 report includes Security, the Common Criteria. Availability, Confidentiality, Processing Integrity and Privacy are added when they matter to your customers. Meiyam tracks Security, Availability and Confidentiality: 38 criteria in all.

An independent CPA firm performs the examination and issues the report. Meiyam does not issue audit opinions, attestations or reports, and it does not replace the examination. It keeps the evidence your auditor will ask for current, organised and verifiable, and shows which criteria still need your input.

Type 1 and Type 2 reports
Type 1Type 2
What it reports onWhether controls are suitably designed and implemented, as of one dateDesign, and whether the controls operated effectively
TimeframeA single dateA period you agree with your auditor
EvidenceThat each control exists as describedThat each control ran throughout the period
Issued byAn independent CPA firmAn independent CPA firm
  1. You

    The organisation being audited

    • Decide the scope
    • Operate the controls
    • Write and approve policies
    • Choose an auditor
  2. Meiyam

    The checking, chasing and record-keeping

    • Connect read-only
    • Check configuration
    • Seal evidence
    • Track documents and acceptance
    • Export for your auditor
  3. Auditor

    An independent CPA firm

    • Test the controls
    • Issue the report
Who does what in a SOC 2 audit. Meiyam organises the evidence. Your auditor tests the controls and issues the report.

How Meiyam collects evidence

Meiyam reads configuration through read-only connections, seals what it reads and checks it with automated rules. Scans run when you start them and when your GitHub organization changes; scheduled scans are planned.

You connect each tool once, with read-only access granted in that tool's own terms: an IAM role for AWS, an app for GitHub, Atlassian and Slack, administrator consent for Microsoft Entra ID, and a key pair or API token for Okta and Cloudflare. Setup ends by starting the first scan.

A scan reads the configuration of every resource the connection can see, such as buckets, roles, repositories, members and policies. Each resource's configuration is written as an evidence object and sealed with a SHA-256 digest as it is written.

Meiyam then checks what the scan read against 77 rules. Each rule checks one configuration fact, such as root account MFA or branch protection on a repository, and carries a severity. Findings, control states and your score update from the results.

Scans run when you start them, for one account or many, and the first runs during setup. A change in your GitHub organization, such as a new member, team, repository or branch protection rule, starts a fresh scan of that organization. Scheduled scans are planned.

Connect, verify, configure and scan. Verification and scan time shortened. Meiyam, demo data.
Transcript

The AWS connection step asks you to launch a read-only CloudFormation stack, then paste the role ARN. A role ARN is pasted and Verify connection is pressed. Meiyam verifies the connection by assuming the role and checking regional access. Connection verified: the account and its reachable regions are listed. Configure your scan: all regions are cleared, eu-west-1 is selected, and SOC 2 is the framework. Run first scan: Meiyam collects configuration across nine services. The dashboard shows the first compliance posture: 25% of the automatically checkable controls passing.

  1. Connect

    Read-only access, granted once per account.

  2. Scan requested

    By you, by setup, or by a GitHub organization change.

  3. Read configuration

    The scanner reads every resource the connection can see.

  4. Seal evidence

    Each object is sealed with SHA-256 as it is written.

  5. Evaluate

    77 rules check what the scan read.

  6. Findings

    Failed checks open findings; passing re-checks resolve them.

  7. Score

    Control states and the score update from the results.

How a scan runs. From a read-only connection to findings, control states and a score.

Read-only, integration by integration

Every scanning integration is read-only, and its exact access is listed before you grant it.

Access per integration
IntegrationAccess Meiyam holdsCannotRules
AWSA cross-account IAM role with a least-privilege read allowlist and an explicit deny on every other API, assumed with an external ID unique to the connection. A CloudFormation template creates it, and you can read the template before you launch it. No access keys change hands.Change or delete anything, because every API outside the read allowlist is denied.25
GitHubA GitHub App with seven read-only permissions across organization members, administration, repository metadata and security alerts. It cannot push, merge or change settings.Push code, merge pull requests or change organization settings.17
Microsoft Entra IDFive read-only Microsoft Graph application permissions, granted through your administrator's consent. None of them reaches mailbox, file or message content.Change directory objects, or reach mailbox, file or message content.10
AtlassianAn Atlassian Forge app installed on your site with read-only Jira and Confluence scopes. An optional, read-only organization API key adds users, groups and admin roles; it is stored encrypted and never shown again.Create or edit Jira issues, Confluence pages or site settings.3
SlackA workspace app with read-only scopes for users, the workspace, channel lists and user groups. The scope set contains no message-content scope, and Meiyam refuses the connection if one is ever granted, so your conversations stay out of reach.Read your conversations: a message-content scope gets the connection refused.9
OktaAn API Services application that authenticates with a key pair: you register the public key, and the private key never leaves Meiyam. Seven read-only scopes and the Read-only Administrator role. No password or API token changes hands.Change users, policies or applications under its Read-only Administrator role.9
CloudflareAn account-owned API token you create in the Cloudflare dashboard with seven read permissions and no edit permission. Meiyam asks for nothing else, and stores the token encrypted.Edit zones or settings, provided the token holds only the seven listed read permissions.4

Meiyam reads configuration and metadata, never the contents of your storage buckets, email or messages. A Slack connection is refused if a message-content scope is granted. Jira ticketing is a separate, optional app that writes tickets.

Criteria coverage

Eight of the 38 criteria are checked by automated rules; policies and records evidence the other 30.

SOC 2 criteria by evidence

Automated rules, 8: CC6.1 (29 rules), CC6.2 (1 rule), CC6.3 (12 rules), CC6.6 (13 rules), CC6.7 (3 rules), CC7.1 (11 rules), CC7.2 (2 rules), CC8.1 (6 rules).

Documents, 30: CC1.1, CC1.2, CC1.3, CC1.4, CC1.5, CC2.1, CC2.2, CC2.3, CC3.1, CC3.2, CC3.3, CC3.4, CC4.1, CC4.2, CC5.1, CC5.2, CC5.3, CC6.4, CC6.5, CC6.8, CC7.3, CC7.4, CC7.5, CC9.1, CC9.2, A1.1, A1.2, A1.3, C1.1, C1.2.

Each cell is one of the 38 criteria. The 8 with automated rules show their rule count.

Automated means at least one rule checks the criterion on every scan. Of the 77 rules, 58 check logical access (CC6), 13 system operations (CC7) and 6 change management (CC8). The other 30 criteria describe how your organisation operates, so policies and records evidence them. One failing check is one finding, counted against SOC 2 and ISO 27001 alike.

Example rules for each criterion
Example rules
CriterionRulesExample rules
CC6.129
  • AWS-IAM-001IAM root account MFA enabled
  • OKTA-AUTHENTICATOR-002Phishable factors are not left enabled
CC6.21
  • SLACK-MEMBER-003Deactivated members hold no elevated role
CC6.312
  • GITHUB-ORG-002Base repository permission is read or none
  • ENTRA-ROLE-001Privileged roles are assigned to named users
CC6.613
  • AWS-SG-001Security group restricts admin ports (SSH/RDP) from the internet
  • ENTRA-CA-004Guest invitations are restricted
CC6.73
  • CLOUDFLARE-ZONE-001Domains refuse obsolete TLS versions
  • CLOUDFLARE-ZONE-003Domains serve an active certificate
CC7.111
  • AWS-CLOUDTRAIL-002CloudTrail log file validation enabled
  • GITHUB-SEC-003Dependabot alerts are enabled
CC7.22
  • AWS-VPC-001VPC Flow Logs are active
  • AWS-VPC-002VPC has a flow log configured
CC8.16
  • GITHUB-REPO-002Default branch requires at least one approving review
  • GITHUB-REPO-003Default branch blocks force pushes

See how one check feeds both frameworks

Nothing passes by default

Every control is in one of five states derived from what Meiyam can see, and a control nothing has checked reads as unproven.

A control's state is read from the evidence, never set by hand. A control with automated rules is live when those rules run and pass on every assessed account, and failing when any check fails. Failing takes precedence over every other state, so an open finding cannot hide behind an approved policy. On the dashboard, posture is the share of automatically checkable controls that pass; controls Meiyam cannot check automatically are reported separately. Whether a control is met is your auditor's judgement.

A control no rule checks can rest on a document: a policy in force or an uploaded record. A policy evidences how a control is designed; for a Type 2 period, attach the records that show it operated, such as tickets or review minutes, as the period runs. With nothing attached, a control reads as unproven, which is where every control starts.

Documents age. A policy or record counts as current for 90 days by default, and each workspace can set its own threshold. When the newest document on a control passes it, the control reads as stale until something newer is attached.

Criterion CC6.1, Logical access security controls, marked failing. A table lists the rules that prove it, each with its provider, the accounts in scope, a passing, failing or not assessed state, open findings and when it was last checked.
One criterion and every rule that checks it, with the state of each. Meiyam, demo data.

Documents age, deadlines hold

  • A document reads as stale after 90 days.
  • Critical, high and medium findings are due in 7, 30 and 90 days.
  • A risk acceptance lasts 90 days by default and 365 at most, then the finding reopens.
Documents
Findings
Risk acceptance
Workspace defaults. Each workspace can change them.
  1. Does a rule fail, or is a finding open?

    Yes: FailingA rule fails or a finding is open. Failing outranks every other state.

  2. Do its automated rules run and pass on every assessed account?

    Yes: LiveIts automated rules run and pass on every assessed account.

  3. Is a current policy or record attached?

    Yes: DocumentNo rule checks it; a policy in force or an uploaded record stands in.

  4. Is a policy or record attached, past the freshness threshold?

    Yes: StaleIts newest document is older than the freshness threshold.

  5. Nothing attached

    UnprovenNothing evidences it yet. Every control starts here.

How a control gets its state. The questions are asked in order, and the first yes decides the state.

From finding to fix

Each failed check becomes a finding you can assign, with a recorded history, and only a passing re-scan or a named person resolves it.

Every failed check becomes a finding on the resource it was read from, ranked by severity, with the captured configuration beside it. New findings get a due date from their severity: by default 7 days for critical, 30 for high and 90 for medium. Each workspace can change these windows, and each finding takes an owner.

When a risk is acceptable, record the decision with a reason and an expiry date, up to 365 days by default. By default only owners and admins can accept a risk. When the acceptance expires, the finding reopens.

Open Jira tickets from findings, one at a time or in bulk, and follow their status on the finding. Closing a ticket never resolves a finding by itself: a re-scan that passes the check resolves it, or a named person marks it resolved, and the timeline records which.

Every assignment, status change, acceptance and ticket event is recorded on the finding's timeline.

A critical finding: the S3 bucket demo-customer-uploads does not block public access. The page shows the SOC 2 and ISO 27001 controls, the rule, the resource, the evidence (property checked, value found, value required), the triage rail with owner, due date and risk acceptance, a Terraform remediation and the audit trail.
A finding with its evidence, triage options, suggested fix and audit trail. Meiyam, demo data.

Evidence you can verify

Evidence is sealed as it is collected and every export carries a checksum, so your auditor can confirm nothing changed after collection.

When your auditor asks whether a record changed after it was collected, the answer is built in. Meiyam seals each piece of evidence with SHA-256 as a scan collects it, and keeps a tamper-evident record of every scan in your workspace's audit log.

Export evidence for a framework and period as JSON, CSV or PDF. An export holds the score at the end of the period, the findings raised during it, and the policies in force and bills of materials uploaded in it, each with its digest. A SHA-256 checksum covers the exported data, and the export is itself recorded in the audit log.

Tamper-evident means a change can be detected, not that one is impossible.

A digest shows that evidence is unchanged since it was recorded. It does not show that the configuration was correct, which is the job of the rules, and it does not replace your auditor's own testing.

How evidence is sealed, step by step

Policies, people and acceptance

Policies, records and acceptance tracking evidence the 30 criteria configuration cannot prove, in the same workspace as the automated checks.

Most of SOC 2 is about how your organisation runs: governance, risk assessment, people, vendors, incident response and continuity. Meiyam includes 23 policy templates, each mapped to the SOC 2 criteria and ISO 27001 requirements it addresses, with an annual review cadence by default. Between them they map to all 38 criteria Meiyam tracks.

Adopt a template or bring your own policy, edit it and keep every version. Approving a version puts it in force, and only the workspace owner can approve. Download any version as a Word document.

Send each person their own link to read and accept the policies that apply to them. Each acceptance names the policy version it was given for, and the record is exportable for your auditor. Keep the people roster current by importing a CSV file or syncing it from Microsoft Entra ID.

Attach dated records, such as board minutes or the write-up of an incident response exercise, to any control no integration can evidence.

See all 23 policy templates

Working with your auditor

Give your auditor read-only access limited to the frameworks and dates in scope, or hand over a checksummed export.

Invite the auditor you choose into the workspace with the Auditor role. It is read-only and limited to the frameworks and the date range you choose, and the server applies the limit to every read rather than hiding parts of the interface.

Document freshness is judged at the end of the granted window, so a policy that was current throughout the audit period does not read as stale because fieldwork happens months later.

Each member holds one of six roles with fixed permissions, which decide who can connect tools, triage findings, approve policies and manage the team: Owner, Admin, Senior remediator, Remediator, Viewer and Auditor. Viewers and auditors cannot change anything.

If your auditor works from files instead, an evidence export for the framework and period carries a SHA-256 checksum over its data.

Inviting an auditor: read-only access scoped to SOC 2, a review period from 1 January to 31 December 2026, and access that ends on 31 March 2027. The invitation has not been sent.
Auditor access: read-only, scoped to frameworks and a review period, with an end date. Meiyam, demo data.

On the roadmap for audits

These are planned and not available today.

  • Audit engagement workflow. Import your auditor's request list, pre-answer it from sealed evidence and export the answered list with a package checkable with standard checksum tools.
  • Auditor portal and provenance checks. A scoped space where your auditor reviews evidence, accepts or flags each request and checks each artifact's origin, with every view and download logged.
  • Scheduled scans. Scans that run automatically on the cadence you set, so evidence stays current without anyone starting a scan.
  • Trust centre. A public security page that publishes only what you choose: selected policies, a live control summary, sub-processors and NDA-gated document requests.

SOC 2 questions

Answers to the questions teams ask most when they prepare for SOC 2 with Meiyam.

Does Meiyam issue SOC 2 reports?

No. A SOC 2 report is issued by an independent CPA firm after it examines your controls. Meiyam does not issue audit opinions, attestations or certifications, and it does not replace the examination. It prepares and organises the evidence the examination relies on.

AM DevOps does not hold a SOC 2 report for Meiyam today.

Type 1 or Type 2: which do I need first?

That depends on what your customer asks for. A Type 1 report covers the design of your controls at one date and is often a first step. A Type 2 report also covers how the controls operated over a period, and it is the report many enterprise buyers expect. Your auditor will help you settle the scope and the period.

The work in Meiyam is the same either way. Each scan's evidence is sealed and kept with the time it was collected, and an evidence export for the period holds the findings raised in it and the policies in force.

Which Trust Services Criteria does Meiyam track?

Security (the 33 Common Criteria), Availability (three) and Confidentiality (two): 38 criteria in all. Processing Integrity and Privacy are not tracked today.

Every SOC 2 report includes Security. You and your auditor decide whether to add the other categories.

What does "automated" mean for a criterion?

At least one rule checks it on every scan. A rule reads one configuration fact, such as whether the AWS root account has MFA or whether a default branch requires a review, and passes or fails it for every resource it applies to.

A criterion with no rule is evidenced by documents and reads as unproven until one is attached. Your auditor can still ask about the process behind a passing configuration.

How often does Meiyam check my systems?

Whenever a scan runs. You start scans for one account or many, the first runs during setup, and a change in your GitHub organization starts a fresh scan of that organization. The change notice itself never becomes evidence: the scan reads the current state. Scheduled scans on a cadence you set are planned and not available today.

What access does Meiyam need for each tool?

Read-only access, listed before you grant it. For AWS that is a cross-account role, created by a CloudFormation template you can read first, that denies every API outside its read allowlist. Each integration page lists the exact permissions.

Can Meiyam change anything in my environment?

Scans cannot: every scanning integration is read-only, and the AWS role denies every API outside its read allowlist. The one exception is optional. The separate Jira ticketing app can create, comment on and transition issues for your findings, and only if you install it.

How is evidence protected from tampering?

Each evidence object is sealed with a SHA-256 digest as it is written. Each scan records a manifest digest in an append-only audit log in which every entry carries the hash of the entry before it, and the application cannot update or delete audit entries.

That makes a change detectable, which is what tamper-evident means. It does not make a change impossible.

What do I give my auditor?

Either read-only access to your workspace, limited to the frameworks and dates in scope, or an evidence export for the framework and period as JSON, CSV or PDF, with a SHA-256 checksum over its data.

What about criteria a scan cannot prove?

They are evidenced by documents. Adopt from 23 policy templates or bring your own, approve each version, track who has accepted it, and attach dated records to controls. A document older than your freshness threshold reads as stale, so the coverage view shows what needs renewing before your auditor finds it.

Where is my data stored?

On AWS in the EU (Ireland) region, where scan results, findings and evidence are stored and processed. Each workspace is isolated from every other workspace at the database level, and evidence objects are stored under a path unique to your workspace. The security page has the detail.

Can I prepare for ISO 27001 at the same time?

Yes. Meiyam supports ISO/IEC 27001:2022 from the same connections and policies. Automated rules check 18 of the 93 Annex A controls on every scan, and approved policies and dated records evidence the clauses and the other controls. Every policy template maps to both frameworks.

What is on the roadmap for audits?

An audit engagement workflow that imports your auditor's request list and answers it from sealed evidence, an auditor portal with provenance checks, scheduled scans and a trust centre. These are planned and not available today, and the roadmap lists each one.

Evidence for SOC 2, from the tools you already run

When Meiyam opens, every account starts on a free trial.