jpskill.com
💼 ビジネス コミュニティ

soc2-compliance

SaaS企業がSOC2 Type IIに準拠するために、監査準備、セキュリティ要件への対応、大企業顧客のオンボーディングに必要な証拠収集や管理体制構築を支援するSkill。

📜 元の英語説明(参考)

Achieve SOC 2 Type II compliance for SaaS — Trust Service Criteria, evidence collection, and controls implementation. Use when preparing for a SOC 2 audit, meeting B2B SaaS security requirements, or onboarding enterprise customers who require a SOC 2 report.

🇯🇵 日本人クリエイター向け解説

一言でいうと

SaaS企業がSOC2 Type IIに準拠するために、監査準備、セキュリティ要件への対応、大企業顧客のオンボーディングに必要な証拠収集や管理体制構築を支援するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o soc2-compliance.zip https://jpskill.com/download/15391.zip && unzip -o soc2-compliance.zip && rm soc2-compliance.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/15391.zip -OutFile "$d\soc2-compliance.zip"; Expand-Archive "$d\soc2-compliance.zip" -DestinationPath $d -Force; ri "$d\soc2-compliance.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して soc2-compliance.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → soc2-compliance フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

[Skill 名] soc2-compliance

SOC 2 準拠

概要

SOC 2 (System and Organization Controls 2) は、サービス組織向けに AICPA によって開発された監査基準です。SOC 2 Type II レポートは、6〜12 か月の期間を対象とし、コントロールが設計されただけでなく、効果的に運用されていることを示します。企業のバイヤーは、契約に署名する前にほぼ例外なく SOC 2 を要求します。

信頼サービス基準 (TSC)

基準 略語 必須ですか? 説明
セキュリティ CC ✅ 常に 不正アクセスからの保護
可用性 A オプション システムが運用および使用可能であること
機密性 C オプション 機密として指定された情報が保護されていること
処理の完全性 PI オプション 処理が完全、有効、正確、タイムリーであること
プライバシー P オプション 個人情報が適切に収集、使用、保持、開示されていること

ほとんどの SaaS 企業は、セキュリティ + 可用性 から始めます。機密データを扱う場合は機密性を追加し、GDPR/CCPA の対象となる個人データを扱う場合はプライバシーを追加します。

共通コントロールフレームワーク (CC)

CC1 — コントロール環境

  • 年次で見直される書面によるセキュリティポリシー
  • すべてのスタッフが承認した行動規範
  • 明確なセキュリティ責任を伴う組織図

CC2 — コミュニケーションと情報

  • すべての担当者に伝達されるセキュリティポリシー
  • ベンダーリスク評価の文書化
  • セキュリティ意識向上トレーニングの記録

CC3 — リスク評価

リスク登録簿のエントリ:
- リスク ID: RISK-001
- タイトル: データベースへの不正アクセス
- 可能性: 中
- 影響: 大
- 固有リスク: 大
- コントロール: MFA、ネットワークセグメンテーション、IAM 最小特権
- 残余リスク: 小
- 所有者: CTO
- レビュー日: 2025-01-15

CC4 — 監視活動

  • 自動化された脆弱性スキャン (最低週 1 回)
  • 四半期ごとのアクセスレビュー
  • 侵入検知アラートの毎日レビュー

CC5 — コントロール活動

  • ピアレビューを含む変更管理プロセス
  • 年次でテストされるインシデント対応計画
  • 年次で実施されるペネトレーションテスト

CC6 — 論理的および物理的アクセス制御

MFA 強制 (Node.js の例):

// すべての管理者ユーザーに MFA を強制する
const requireMFA = async (req, res, next) => {
  const user = req.user;
  if (user.role === 'admin' && !user.mfaVerified) {
    return res.status(403).json({
      error: 'MFA required for admin access',
      code: 'MFA_REQUIRED'
    });
  }
  next();
};

// CC6 の証拠として、すべての認証イベントをログに記録する
const logAuthEvent = async (userId, event, success, ipAddress) => {
  await db.auditLog.create({
    userId,
    event,        // 'login' | 'logout' | 'mfa_verify' | 'password_reset'
    success,
    ipAddress,
    userAgent: req.headers['user-agent'],
    timestamp: new Date().toISOString()
  });
};

アクセスレビューの自動化:

import boto3
from datetime import datetime, timedelta

def generate_access_review_report():
    """CC6 の四半期ごとのアクセスレビューの証拠を生成します。"""
    iam = boto3.client('iam')
    report = []

    users = iam.list_users()['Users']
    for user in users:
        # 最終アクティビティを確認する
        login_profile = None
        try:
            login_profile = iam.get_login_profile(UserName=user['UserName'])
        except iam.exceptions.NoSuchEntityException:
            pass

        groups = iam.list_groups_for_user(UserName=user['UserName'])
        policies = iam.list_attached_user_policies(UserName=user['UserName'])

        report.append({
            "user": user['UserName'],
            "created": user['CreateDate'].isoformat(),
            "groups": [g['GroupName'] for g in groups['Groups']],
            "policies": [p['PolicyName'] for p in policies['AttachedPolicies']],
            "has_console_access": login_profile is not None,
            "review_date": datetime.utcnow().isoformat(),
            "reviewed_by": "security-team"
        })

    return report

CC7 — システム運用

  • アラート付きのインフラストラクチャ監視
  • ログ集約と異常検知
  • キャパシティプランニングレビュー

CC8 — 変更管理

Git ベースの変更管理:

# PR 経由のすべての変更 (GitHub ブランチ保護で強制)
# - 必須レビュー担当者: 2
# - 必須 CI チェック: テスト、セキュリティスキャン、lint
# - メインへの直接プッシュは不可

# デプロイ承認記録 (監査証拠用)
cat deployment-log.json
# {
#   "deploy_id": "deploy-2024-0115-001",
#   "author": "alice@company.com",
#   "reviewer": "bob@company.com",
#   "approved_at": "2024-01-15T14:30:00Z",
#   "deployed_at": "2024-01-15T14:45:00Z",
#   "changes": "JIRA-123: Add MFA to admin panel",
#   "rollback_plan": "Revert commit abc123"
# }

CC9 — リスク軽減

  • ベンダー管理プログラム
  • 事業継続計画
  • サイバー保険

証拠収集

SOC 2 監査人は、監査期間中にコントロールが継続的に運用されていたという証拠を必要とします。

コントロール 証拠の種類 頻度 ストレージ
MFA 有効 スクリーンショット + IAM エクスポート 四半期ごと Vanta/Drata
アクセスレビュー 署名付きレビュー記録 四半期ごと Google Drive
脆弱性スキャン スキャンレポート 毎週 S3/Drive
ペンテスト レポート + 修正 毎年 Drive
セキュリティトレーニング 完了証明書 毎年 HRIS
インシデント対応テスト 卓上演習ノート 毎年 Drive
保存時の暗号化 構成のスクリーンショット 変更ベース Drive
バックアップテスト済み リストアテストログ 四半期ごと Drive

自動化ツール

Vanta (スタートアップに推奨)

# Vanta はクラウドアカウントに接続し、証拠を自動的に収集します
# 統合: AWS, GCP, Azure, GitHub, Okta, Google Workspace, Slack

# 接続後、Vanta は以下を自動的に監視します:
# - MFA 強制 (CC6.1)
# - 保存時の暗号化 (CC6.7)
# - 脆弱性スキャン (CC7.1)
# - 身元調査 (CC1.1)
# - アクセスレビュー (CC6.2)

Drata / Secureframe

どちらも同様の自動化を提供します: 継続的な共同

📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

SOC 2 Compliance

Overview

SOC 2 (System and Organization Controls 2) is an auditing standard developed by the AICPA for service organizations. A SOC 2 Type II report covers a period of 6-12 months, demonstrating controls are operating effectively — not just designed. Enterprise buyers almost universally require SOC 2 before signing contracts.

Trust Service Criteria (TSC)

Criteria Abbrev Required? Description
Security CC ✅ Always Protection against unauthorized access
Availability A Optional System available for operation and use
Confidentiality C Optional Information designated as confidential is protected
Processing Integrity PI Optional Processing is complete, valid, accurate, timely
Privacy P Optional Personal information collected, used, retained, disclosed properly

Most SaaS companies start with Security + Availability. Add Confidentiality if handling sensitive data; add Privacy if handling personal data covered by GDPR/CCPA.

Common Controls Framework (CC)

CC1 — Control Environment

  • Written security policies reviewed annually
  • Code of conduct acknowledged by all staff
  • Org chart with clear security accountability

CC2 — Communication and Information

  • Security policies communicated to all personnel
  • Vendor risk assessments documented
  • Security awareness training records

CC3 — Risk Assessment

Risk Register entry:
- Risk ID: RISK-001
- Title: Unauthorized database access
- Likelihood: Medium
- Impact: High
- Inherent Risk: High
- Controls: MFA, network segmentation, IAM least-privilege
- Residual Risk: Low
- Owner: CTO
- Review Date: 2025-01-15

CC4 — Monitoring Activities

  • Automated vulnerability scanning (weekly minimum)
  • Quarterly access reviews
  • Intrusion detection alerts reviewed daily

CC5 — Control Activities

  • Change management process with peer review
  • Incident response plan tested annually
  • Penetration testing annually

CC6 — Logical and Physical Access Controls

MFA enforcement (Node.js example):

// Enforce MFA for all admin users
const requireMFA = async (req, res, next) => {
  const user = req.user;
  if (user.role === 'admin' && !user.mfaVerified) {
    return res.status(403).json({
      error: 'MFA required for admin access',
      code: 'MFA_REQUIRED'
    });
  }
  next();
};

// Log all authentication events for CC6 evidence
const logAuthEvent = async (userId, event, success, ipAddress) => {
  await db.auditLog.create({
    userId,
    event,        // 'login' | 'logout' | 'mfa_verify' | 'password_reset'
    success,
    ipAddress,
    userAgent: req.headers['user-agent'],
    timestamp: new Date().toISOString()
  });
};

Access review automation:

import boto3
from datetime import datetime, timedelta

def generate_access_review_report():
    """Generate quarterly access review evidence for CC6."""
    iam = boto3.client('iam')
    report = []

    users = iam.list_users()['Users']
    for user in users:
        # Check last activity
        login_profile = None
        try:
            login_profile = iam.get_login_profile(UserName=user['UserName'])
        except iam.exceptions.NoSuchEntityException:
            pass

        groups = iam.list_groups_for_user(UserName=user['UserName'])
        policies = iam.list_attached_user_policies(UserName=user['UserName'])

        report.append({
            "user": user['UserName'],
            "created": user['CreateDate'].isoformat(),
            "groups": [g['GroupName'] for g in groups['Groups']],
            "policies": [p['PolicyName'] for p in policies['AttachedPolicies']],
            "has_console_access": login_profile is not None,
            "review_date": datetime.utcnow().isoformat(),
            "reviewed_by": "security-team"
        })

    return report

CC7 — System Operations

  • Infrastructure monitoring with alerts
  • Log aggregation and anomaly detection
  • Capacity planning reviews

CC8 — Change Management

Git-based change management:

# All changes via PR (enforced in GitHub branch protection)
# - Required reviewers: 2
# - Required CI checks: tests, security scan, lint
# - No direct pushes to main

# Deployment approval record (for audit evidence)
cat deployment-log.json
# {
#   "deploy_id": "deploy-2024-0115-001",
#   "author": "alice@company.com",
#   "reviewer": "bob@company.com",
#   "approved_at": "2024-01-15T14:30:00Z",
#   "deployed_at": "2024-01-15T14:45:00Z",
#   "changes": "JIRA-123: Add MFA to admin panel",
#   "rollback_plan": "Revert commit abc123"
# }

CC9 — Risk Mitigation

  • Vendor management program
  • Business continuity plan
  • Cyber insurance

Evidence Collection

SOC 2 auditors need evidence that controls operated continuously during the audit period.

Control Evidence Type Frequency Storage
MFA enabled Screenshot + IAM export Quarterly Vanta/Drata
Access reviews Signed review records Quarterly Google Drive
Vulnerability scans Scan reports Weekly S3/Drive
Pen test Report + remediation Annual Drive
Security training Completion certificates Annual HRIS
Incident response test Tabletop exercise notes Annual Drive
Encryption at rest Config screenshot Change-based Drive
Backup tested Restore test log Quarterly Drive

Automation Tools

Vanta (recommended for startups)

# Vanta connects to your cloud accounts and auto-collects evidence
# Integrations: AWS, GCP, Azure, GitHub, Okta, Google Workspace, Slack

# After connecting, Vanta auto-monitors:
# - MFA enforcement (CC6.1)
# - Encryption at rest (CC6.7)
# - Vulnerability scanning (CC7.1)
# - Background checks (CC1.1)
# - Access reviews (CC6.2)

Drata / Secureframe

Both offer similar automation: continuous control monitoring + auditor portal for evidence sharing. Drata is strong on integrations; Secureframe has a good self-service audit experience.

Key Policies to Write

Create these written policies (stored in a policy management system):

Required Policies:
1. Information Security Policy
2. Access Control Policy  
3. Encryption Policy
4. Incident Response Plan
5. Business Continuity / Disaster Recovery Plan
6. Vulnerability Management Policy
7. Change Management Policy
8. Vendor Management Policy
9. Acceptable Use Policy
10. Data Classification Policy

Encryption Policy example snippet:

## Encryption Policy

**Effective Date:** 2024-01-01
**Owner:** CTO
**Review Cycle:** Annual

### Requirements
- All data at rest classified as Confidential or Restricted MUST be encrypted 
  using AES-256 or equivalent.
- All data in transit MUST use TLS 1.2 or higher.
- Encryption keys MUST be stored separately from encrypted data, in an 
  approved key management system (AWS KMS, GCP KMS, or HashiCorp Vault).
- Keys MUST be rotated annually or upon suspected compromise.

SOC 2 Timeline

Phase Duration Activities
Readiness assessment 4-6 weeks Gap analysis, policy writing
Remediation 2-4 months Implement controls, fix gaps
Evidence collection period (Type II) 6-12 months Run controls, collect evidence
Auditor fieldwork 4-8 weeks Auditor reviews evidence
Report issuance 2-4 weeks Final report, management response

Total Type II timeline: ~12-18 months from start to report.

Compliance Checklist

  • [ ] Scope defined (which systems handle customer data)
  • [ ] Auditor selected (AICPA-licensed CPA firm)
  • [ ] Security policies written and approved
  • [ ] MFA enforced for all users
  • [ ] Encryption at rest and in transit enabled
  • [ ] Vulnerability scanning automated
  • [ ] Access review process established
  • [ ] Change management process documented
  • [ ] Incident response plan written and tested
  • [ ] Vendor risk assessments completed
  • [ ] Background checks for employees
  • [ ] Security awareness training completed
  • [ ] Evidence collection tool in place (Vanta/Drata/Secureframe)