mcpField
C
compliance-engineering

compliance-engineering

github.com/travisjneumanセキュリティ10697 回インストール1 日前に更新
リポジトリ

compliance-engineering について

SOC 2、HIPAA、GDPR、PCI-DSS、FedRAMP などの枠組みに対応する、開発者向けコンプライアンス実装ガイドです。コード上の制御、Webアプリの既定設定、コンプライアンス自動化を扱います。

主な機能

  1. 01SOC 2の監査ログとアクセス制御
  2. 02HIPAAの技術的安全措置
  3. 03GDPRの同意管理とデータ最小化
  4. 04PCI-DSSの制御ガイダンス
  5. 05コンプライアンス・アズ・コードの例

活用シーン

  1. 01PHIを扱うアプリの安全策の計画
  2. 02同意とデータ保持方法の確認
  3. 03決済カードデータへの制御適用
  4. 04インフラの監査証跡収集の自動化

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/travisjneuman/.claude --skill compliance-engineering

インストール後、Claude Code で/compliance-engineeringを入力して読み込まれたか確認します。

詳細

コンプライアンスエンジニアリング

フレームワークの概要

フレームワーク対象範囲主な要件
SOC 2サービス組織セキュリティ、可用性、機密性、プライバシー、処理の完全性
HIPAA医療データ(PHI)暗号化、アクセス制御、監査ログ、BAA
GDPREU の個人データ同意、データ最小化、消去する権利、DPIA
PCI-DSS決済カードデータネットワーク分割、暗号化、アクセス制御、ログ記録
FedRAMP米国政府のクラウドNIST 800-53 の管理策、継続的なモニタリング、認証

コードにおける SOC 2 の管理策

監査ログ
interface AuditEvent {
  timestamp: string;
  actor: { id: string; role: string; ip: string };
  action: string;
  resource: { type: string; id: string };
  outcome: 'success' | 'failure';
  metadata: Record<string, unknown>;
}

async function auditLog(event: AuditEvent): Promise<void> {
  // Write-once, append-only storage (immutable)
  await auditStore.append({
    ...event,
    timestamp: new Date().toISOString(),
    hash: computeChainHash(event), // tamper detection
  });
}
アクセス制御
// RBAC with principle of least privilege
const permissions = {
  admin: ['read', 'write', 'delete', 'manage_users'],
  editor: ['read', 'write'],
  viewer: ['read'],
} as const;

function authorize(user: User, action: string, resource: Resource): boolean {
  const allowed = permissions[user.role];
  if (!allowed?.includes(action)) {
    auditLog({ action, outcome: 'failure', actor: user, resource });
    return false;
  }
  return true;
}

HIPAA の技術的セーフガード

  • 保存データの暗号化: PHI の保存には AES-256 を使用し、鍵管理には AWS KMS / GCP KMS を使用します
  • 転送中データの暗号化: TLS 1.2+ を必須とし、モバイルでは証明書ピンニングを使用します
  • アクセス制御: 一意のユーザー ID、自動ログオフ、必須の MFA
  • 監査管理: すべての PHI アクセスを記録し、ログを 6 年以上保持して、改ざんを検知できるようにします
  • データのバックアップ: 暗号化されたバックアップ、復元手順のテスト、地理的な冗長性

GDPR の実装

同意管理
interface ConsentRecord {
  userId: string;
  purpose: string;
  granted: boolean;
  timestamp: string;
  source: 'explicit' | 'legitimate_interest';
  withdrawable: boolean;
}

// Data Subject Access Request (DSAR)
async function handleDSAR(userId: string, type: 'access' | 'erasure' | 'portability') {
  switch (type) {
    case 'access': return await exportUserData(userId); // JSON/CSV
    case 'erasure': return await deleteUserData(userId); // Right to be forgotten
    case 'portability': return await exportPortableData(userId); // Machine-readable
  }
}
データ最小化
  • 明示された目的に必要なデータのみを収集します
  • 保持ポリシーを設定し、自動削除を有効にします
  • 可能な場合は仮名化します(PII をトークンに置き換えます)
  • 分析用に匿名化します(k-匿名性、差分プライバシー)

コンシューマー向け Web アプリのデフォルト設定

  • フォント、CSS、JS はセルフホストします(next/font、@fontsource/*)。ページ表示時に fonts.googleapis.com を使用しません(GDPR における IP アドレス漏えい。ミュンヘン地方裁判所、2022 年)
  • セッションリプレイ(Sentry Replay、PostHog、Hotjar、Clarity、LogRocket、FullStory)は同意を得るまで無効にし、入力内容をマスキングします(カリフォルニア州 CIPA の盗聴に関する申し立て)
  • マーケティングメールには、配信停止リンク、List-Unsubscribe ヘッダー、実在する郵送先住所を記載します(CAN-SPAM)
  • サブスクリプションでは、ボタンの横に更新条件を表示し、明示的な同意を得て、オンラインで解約できるようにします(カリフォルニア州 ARL、FTC ROSCA)
  • 年齢に関するポリシーを定めます。子ども向けでないことを明記するか、13 歳未満のユーザーからデータを収集する前に、確認可能な保護者の同意を得ます(COPPA)
  • ユーザーが公開アップロードするコンテンツについて、著作権局に DMCA 指定代理人を登録し(3 年ごとに更新)、通知と削除のページを設けます(17 U.S.C. 512(c))

PCI-DSS の主な管理策

  • CVV/CVC はいかなる場合も保存しないでください。形式を問わず、決して保存しません
  • カード番号をトークン化します。生の PAN の代わりに Stripe/Braintree のトークンを使用します
  • ネットワークを分割します。カード会員データ環境(CDE)を分離します
  • 四半期ごとに脆弱性スキャンを実施します。ASV 承認済みの外部スキャンを使用します
  • ペネトレーションテストを実施します。少なくとも年 1 回、また重要な変更の後に実施します

コンプライアンス・アズ・コード

  • ポリシー・アズ・コード: Open Policy Agent(OPA)、AWS Config Rules、Azure Policy
  • インフラストラクチャのコンプライアンス: Terraform Sentinel、Checkov、tfsec
  • ランタイムのコンプライアンス: コンテナのモニタリングには Falco、AWS GuardDuty を使用します
  • 証跡の収集: 監査証跡としてスクリーンショットやログを自動収集します

コメント