Vibe coding と GDPR:AI が作ったサイトが知らないうちに法律違反になる理由
Claude Code や Codex などの AI コーディングエージェントは動くサイトを数時間で仕上げてくれますが、その裏で頼んでもいない GDPR 違反をこっそり仕込みます。同意前に発火する Cookie、永久に保持される個人データ、削除する手段の欠如です。なぜこれがどのエージェントでも起きるのか、何を失いかねないのか、そしてプロジェクトを GDPR の観点でスキャンして修正してくれる無料の Claude Code スキルを解説します。
アプリの内容をコーディングエージェントに説明すると、エージェントがコードを書き、あなたがデプロイし、数時間後には本物のプロダクトがオンラインに公開されています。これが vibe coding が約束するもので、たいていの場合その約束は果たされます。サイトは表示され、サインアップは動き、ダッシュボードはきれいです。目に見えるものはすべて問題ありません。
問題は、目に見えないものすべてにあります。機能を組み上げている間に、エージェントは Cookie、トラッキング、データ保存、ユーザーの権利について、何十もの小さな判断も下しています。法律のことを考えるよう誰も頼まなかったので、エージェントは考えませんでした。あなたがリリースする頃には、ピカピカの新しいサイトはすでに GDPR(一般データ保護規則)違反の山の上に乗っているかもしれず、しかもあなたはそれに気づいていません。
これは Claude の問題でも Codex の問題でもありません。AI コーディングエージェントの仕組みそのものに根ざした構造的な特性であり、どのエージェントにも当てはまります。何が具体的におかしくなるのか、何を失いかねないのか、そして規制当局より先にこれらの問題を見つけて直してくれる無料の Claude Code スキルを、順に見ていきましょう。
AI コーディングエージェントがこっそり間違えること
コーディングエージェントは、たった一つのことのために最適化します。機能を動かすことです。アナリティクスを頼めばトラッキングスクリプトを差し込み、お問い合わせフォームを頼めば送信内容をすべてテーブルに保存し、ログインを頼めばユーザーレコードを無期限に残します。それぞれの判断は単体で見れば妥当です。しかし組み合わさると、規制当局が最も頻繁に制裁する違反の教科書的なリストになります。
典型的な vibe coding 製サイトで、すり抜けてしまうのは次のようなものです。
- Cookie とトラッカーが同意の前に発火する。 アナリティクス、埋め込み地図、フォント、ソーシャルピクセル、セッションツールは、ページが開いた瞬間に読み込まれます。GDPR と ePrivacy のルールの下では、必須でない Cookie には事前の、自由に与えられた同意が必要です。初回の描画でそれらを設置するサイトはすでに非準拠であり、トラッカーが発火した後にしか表示されない Cookie バナーでは解決になりません。
- 個人データが永久に保持される。 エージェントは
usersテーブル、submissionsテーブル、logsテーブルを作りますが、保持ポリシーは決して追加しません。GDPR は、個人データを実際に必要な期間だけ保持することを求めています。「念のため、永久に」というのは、まさに法律が防ごうとして定められた、保存制限の原則に対する違反そのものです。 - データを削除する手段がない。 ユーザーには消去の権利、いわゆる忘れられる権利があります。vibe coding 製のアプリで「アカウントを削除する」フローや、消去リクエストに応じる文書化された手順を備えてリリースされるものはほとんどありません。データは入ってくるのに、出口と書かれた扉がないのです。
- アクセスやポータビリティの経路がない。 人は、あなたが保有している自分に関するすべての情報のコピーを求めることができます。あなたの唯一の答えが、一度もテストしたことのない手動のデータベースクエリだとしたら、アクセスとポータビリティの義務を果たせていません。
- 第三者のデータが黙って EU の外へ出ていく。 2 秒で追加したそのアナリティクススクリプトやホスティング型フォントは、合法的な移転の仕組みが何もないまま、IP アドレスや識別子を EU 域外のサーバーへ送っているかもしれません。
- 何を収集しているかの記録がない。 GDPR は、あなたが自分の処理活動を把握し、文書化していることを期待します。データの流れがエージェントの忘れ去られたチャット履歴の中にしか存在しないアプリには、記録というものがまったくありません。
これらはどれもデモには現れません。アプリは完璧に動きます。法的なレイヤーがただ欠けているだけで、誰かが苦情を言うか規制当局が訪ねてくるまで、欠けたままです。
エージェントは左の列を完璧に埋めます。右の列は、誰も作るよう頼まなかった部分なので、空のままです。
なぜ Claude だけでなく、すべてのコーディングエージェントがこうするのか
一つのツールを責めたくなりますが、原因はもっと根深いところにあります。コーディングエージェントは公開コードから学び、その公開コードのほとんどは GDPR を念頭に書かれたことがありません。モデルが「Google Analytics を追加する」例、つまりスクリプトを <head> に直接放り込むようなものを一万件見ていれば、それが再現するパターンになります。学習データに悪い習慣が刻み込まれ、出力がそれを受け継ぐのです。
この問題のより広い側面については、確かなデータがあります。Veracode の 2025 年版 GenAI コードセキュリティレポートは、数十種類のコーディングタスクにわたって 100 を超える大規模言語モデルの出力をテストし、AI が生成したコードの 45% がセキュリティ脆弱性を持ち込んでいたことを突き止めました。同じ調査では、AI が書いたコードは人間が書いたコードより 2.74 倍多くの脆弱性を抱えていたことも分かり、しかも示唆的なことに、より新しく大きなモデルが優れているわけではありませんでした。これは構造的なものであり、次のリリースが直してくれるバグではありません。
プライバシーの遵守は、セキュリティとまったく同じ形の問題です。どちらも「とにかく動かす」という目的がそのまま素通りしてしまう、目に見えない要件です。ですから、Claude Code でも Codex でも、Antigravity CLI でも、Cursor でも、ほかのどんなエージェントを操っていても、あなたは同じ盲点にさらされています。ツールは変わっても、穴は変わりません。
GDPR 違反が実際にいくらかかりうるか
ここから話は抽象的でなくなります。GDPR の制裁金は、2000万ユーロまたは全世界の年間売上高の 4% のいずれか高い方が上限とされており、規制当局はその上限に近い金額を科し始めています。
2025 年だけで、フランスのデータ保護機関である CNIL は4億8600万ユーロの制裁金を科しました。これは 2024 年の合計のほぼ 10 倍です。その大半は、9 月のある一日に下された 2 つの決定によるものでした。Cookie と広告の透明性に関する不備をめぐる Google への 3億2500万ユーロ、そして同意なく設置されたトラッカーをめぐる Shein への 1億5000万ユーロです。AI エージェントがデフォルトで出荷する間違いのカテゴリーは、9 桁の罰金を引き寄せているカテゴリーとまったく同じなのです。
これらの数字を読んで、規制当局は巨大企業しか追わないと思い込むのは簡単です。そんなことはありません。CNIL は、小さく事実関係のはっきりしたケースを真正面から狙った簡易手続きを運用しています。非準拠の Cookie バナー、無視されたアクセス請求、脆弱なパスワードポリシーといったものです。これらは小規模事業者にとって日常茶飯事の指摘事項であり、vibe coding 製のサイトがまさに間違えるところです。会社の規模は罰金の額を変えますが、罰金を科されうるかどうかを変えるわけではありません。
見出しを飾る制裁金は大企業を直撃しますが、その背後にある違反、つまり同意なき Cookie と透明性の欠如は、コーディングエージェントが小さなサイトにデフォルトで出荷するのと同じものです。
GDPR が実際に求めていること(平たく言うと)
穴のほとんどを埋めるのに、弁護士になる必要はありません。日々の遵守の大部分は、あなたのコードが備えているか備えていないかという、ひと握りの具体的な振る舞いに帰着します。
- 必須でない Cookie の前に同意を取る。 トラッキング、プロファイリング、計測を行うものは、ユーザーが能動的に同意するまで実行されてはいけません。厳密に必要な Cookie だけが唯一の例外です。
- 収集するすべてのデータに法的根拠を。 同意、契約、または正当な利益のいずれかを、何かを保存する前に決めておくこと、後ではなく。
- データ最小化。 機能が本当に必要とするものだけを収集すること。何でもログに残そうとするエージェントの本能は、その正反対です。
- 保持の上限。 個人データの各カテゴリーには、定められた寿命と、その期限が来たら削除する手段が必要です。
- データ主体の権利。 アクセス、訂正、消去、ポータビリティのすべてに、プライバシーポリシーの中の約束ではなく、実際に機能する経路が必要です。
- 明確なプライバシー通知と処理の記録。 人は、あなたが何をなぜ収集するかを見られるべきであり、あなたはそれを証明できるべきです。
このリストを、エージェントが間違えることのセクションと照らし合わせて読み返すと、重なり具合はほぼ完璧です。良い知らせは、これらが具体的でコードレベルの振る舞いであるがゆえに、ツールでスキャンできるということです。
解決策:スキャンして修正する無料の Claude Code スキル
ここが、手作業のチェックリストでは得られない部分です。あなたの実際のコードベースに対する自動的なひと通りの点検です。Jeremy Longshore という開発者が、まさにこれを行う scanning-for-gdpr-compliance(一部のマーケットプレイスでは GDPR Compliance Scanner として掲載)という無料のオープンソース Claude Code スキルを公開しました。これは claude-code-plugins-plus リポジトリにあり、完全に Claude Code の中で動くので、別途登録すべきサービスはありません。
このスキルは、プライバシー監査人がするようにあなたのプロジェクトを読みます。データの流れ、保存場所、処理活動、同意の仕組み、保持ポリシー、アクセス制御、そしてデータ主体の権利をどう扱っているかを検査します。そして、重要な 3 つのことを行います。
- 検出する。 ルールベースのチェックが、前述のパターンに印を付けます。同意の前に発火するトラッカー、保持の上限がない個人データ、欠落した消去経路、文書化されていない処理です。
- 深刻度で分類する。 指摘は採点され優先順位を付けられて返ってくるので、識別子を漏らすトラッカーが、プライバシー通知の中の一行の欠落より上位に来ます。フラットなリストに溺れる代わりに、危険なものから先に直せます。
- あなたのコードを修正する。 エージェントの中で動くので、後で対応すべきレポートを生成して終わりではありません。推奨される変更を直接実装でき、「ここに問題があります」を、同じひと通りの中での実際の編集に変えてくれます。
インストールは 1 行です。プラグインマーケットプレイスを使って、ソースを追加しスキルをインストールします。
/plugin marketplace add jeremylongshore/claude-code-plugins-plus
そして、自然な言葉でスキャンを起動します。このスキルは次のようなフレーズに反応します。
scan GDPR compliance
check data privacy
validate GDPR
スキルフォルダをプロジェクトの .claude/skills/ ディレクトリに置くことでもインストールできます。これは Claude Code がスキルを見つける標準的な方法です。どちらにしても、スキャンは抽象的なチェックリストに対してではなく、あなたの実際のリポジトリに対して走ります。
コードベースが入り、優先順位を付けられた指摘が中間に並び、実際のコード編集が出てくる。あなたがすでに機能のために使っているのと同じループを、準拠に向けたものです。
ここで正直に、ひとつ注意を。誠実さこそ信頼の土台だからです。スキャンは法的なお墨付きではありません。このスキルは、日々のリスクの大部分を占める機械的でコードレベルの違反、つまり Cookie、保持、欠落した消去フローを捕まえ、数分で準拠へと劇的に近づけてくれます。それでも、何か繊細なもの、データ保護影響評価(DPIA)、あるいは健康データの処理については、データ保護を専門とする弁護士の代わりにはなりません。明白な違反を取り除く技術的な最初のひと通りと位置づけ、その後でエッジケースに人間のレビューを入れてください。
エージェントの艦隊を運用すると、なぜこれが難しくなるのか
1 人の開発者が 1 つのエージェントを動かすなら、健全に保つべきコードベースは 1 つです。複数のエージェントを並行して走らせ、それぞれが同じプロダクトに機能を出荷した瞬間に、静かな違反の表面積は何倍にもなります。あるエージェントがアナリティクススクリプトを追加し、別のエージェントがロギングテーブルを立ち上げ、3 つめが第三者ウィジェットを組み込み、しかも全体のプライバシーへの影響を一人の人間がレビューすることはありません。
これは、コンテキストと一貫性が規模に応じて難しくなるのと同じ理由であり、コーディングエージェントを並行して走らせる話でも、溺れずに vibe coding する話でも、私たちが何度も立ち返るテーマです。解決策は同じ形をしています。基準を、最後に忘れずチェックすべき何かにするのではなく、共有のセットアップの一部に組み込むことです。
マルチエージェントのコックピットである AgentsRoom では、一度設定したスキルとルールが、一か所から操る Claude Code、Codex、その他のプロバイダーを横断して、部屋の中のすべてのエージェントに適用されます。準拠のためのひと通りをワークフローに一度組み込めば、誰も教えていないルールを各エージェントが独立して思い出してくれることを願わずとも、すべてのエージェントがそれを受け継ぎます。一つのセッションをクリーンに保つ規律こそが、艦隊全体を規制上のトラブルから遠ざけるものです。
AI が作ったサイトのための実用的な準拠チェックリスト
AI が作ったサイトを完成と呼ぶ前に、このリストに照らしてください。ほとんどはスキャナーが捕まえますが、何を探しているかを知っておくと、レポートが読みやすくなります。
- ユーザーが同意する前に、必須でない Cookie やトラッカーが発火しない。
- 個人データを保存するすべての場所に、定められた保持期間と削除の仕組みがある。
- ユーザーは自分のデータのコピーを請求し、受け取れる。
- ユーザーはアカウントを削除し、データを消去させることができる。
- プライバシー通知が、何をなぜ、どの法的根拠で収集するかを説明している。
- 第三者スクリプトと EU 域外へのデータ移転に、合法的な仕組みがある。
- 求められたら、処理活動の記録を提出できる。
すべてのチェックボックスにチェックを入れられないなら、あなたの AI 製サイトは GDPR リスクを抱えており、たった 1 件の苦情でそれが表面化するのに十分です。
まとめ
vibe coding は本当に速く、その速さこそが罠です。エージェントは目に見えるものをすべて埋め、目に見えないものをすべて飛ばします。そして GDPR がまさに宿るのは、その目に見えないところです。同意前の Cookie、永久に保持されるデータ、削除する手段の欠如。これらは風変わりなエッジケースではなく、あらゆるコーディングエージェントのデフォルトの出力であり、2025 年に規制当局が数億ユーロの規模で制裁したのと同じ失敗です。
解決策は、エージェントを使うのをやめることではありません。欠けているひと通りを足すことです。無料の scanning-for-gdpr-compliance スキルをプロジェクトに走らせ、明白な違反を分類して修正させ、その後で残りを人間にレビューさせましょう。数分のスキャンは、規制当局からの手紙でその穴を知るよりも、はるかに安上がりです。
複数のエージェントで構築していますか。AgentsRoom をダウンロードして Claude Code、Codex などを一つのコックピットから操り、プロバイダー互換性マトリクスで各エージェントが何をサポートするかを確認し、溺れずに vibe coding するでスピードを保つ方法を読んでみてください。
AgentsRoomをダウンロード
あなたのAIエージェント(Claude、Codex、Antigravity CLI、OpenCode、Aider)を単一のウィンドウから実行します.
コンパニオンアプリ:外出先でもエージェントを確認
Claude、Codex、Antigravity CLI、またはその他の AI プロバイダーを使用します。
バグや要望を公開バックログに直接送信できます。
実際の AgentsRoom の様子。