プログラマのための IT 教科書

エンジニアと法律

この部の 7 / 8 章 ・ 全体で 68 / 76 章 ・ 読了目安 45 分

この章を読むとできるようになること
  • 個人情報の扱いで論点になる箇所を設計時に洗い出せる
  • 漏洩に気づいた時の初動を知っている
  • 法務に相談すべき場面を判断できる

セキュリティの章では「攻撃からどう守るか」を扱いました。 この章で扱うのは、法律が要求してくることです。

両者は重なりますが、同じではありません。

技術的に安全   = 攻撃されにくい
法的に適切     = 収集・利用・保管・削除・通知が、法の求める形になっている

そして重要なこととして、その要求を実際にコードにするのはあなたです。 「個人情報を適切に扱う」という方針は、 SELECT 文の書き方や、ログに何を出すかという形でしか実現されません。

この章の位置づけ

以下は、日本国内の一般的な考え方をエンジニアが知っておくべき範囲でまとめたものです。 法的な助言ではありません。

法令は改正されますし、業種・取引形態によって適用される規制も変わります。 実際の判断は、必ず自社の法務・コンプライアンス担当に確認してください。

この章の目的は、「これは法務に聞くべき話だ」と気づけるようになることです。 気づけなければ、相談することもできません。

個人情報 — 最も日常的に触れる法律

日本では 個人情報の保護に関する法律(個人情報保護法) が適用されます。 Web サービスを作るなら、ほぼ確実に関係します。

まず言葉を区別する

用語意味
個人情報生存する個人を識別できる情報(氏名、メールアドレス、顔写真、識別子など)
個人データ個人情報のうち、データベース化されているもの
要配慮個人情報病歴・信条・犯罪歴・人種など。取得に原則として本人の同意が必要
個人関連情報単体では個人を識別できない情報(Cookie、閲覧履歴、広告 ID など)
仮名加工情報 / 匿名加工情報加工により識別性を下げたもの。扱える範囲が変わる
「メールアドレスだけだから個人情報ではない」は誤り

氏名が無くても、特定の個人を識別できるなら個人情報です。

  • tanaka.taro@example.com → 識別できる可能性が高い
  • ユーザー ID 単体 → 社内の他の情報と照合すれば識別できるなら、個人情報として扱う

「他の情報と容易に照合できるか」が判断の軸になります。 自社の DB に紐づけられる ID は、実務上は個人情報として扱うのが安全です。

実装に直接効いてくる論点

1. 利用目的の範囲を超えない

利用規約に書いた目的:「サービスの提供のため」
やろうとしていること:「購買履歴を分析して広告に使う」
→ 目的外の可能性がある

新機能を作る時、「そのデータを、その用途で使ってよいか」 は プライバシーポリシーを見て確認する必要があります。 エンジニアが判断できないなら、それは法務に投げるべき論点です。

2. 第三者提供

外部サービスにデータを渡す時、扱いが変わります。

委託        自社の指示で処理させる(クラウド、決済代行など)→ 監督義務がある
共同利用    あらかじめ公表した範囲で共同で使う
第三者提供  原則として本人の同意が必要

分析ツールのタグを1行入れるだけで、この論点が発生します。

3. 越境移転

データを海外のサーバーに置く、あるいは海外の事業者に渡す場合、 追加の要件があります。

□ そのクラウドのリージョンはどこか
□ SaaS のデータ保管国はどこか
□ サポート担当が海外から閲覧できる構成になっていないか

4. 安全管理措置

技術的な措置(アクセス制御、暗号化、ログ)と、 組織的な措置(権限管理、教育)が求められます。

認証と認可の実装の「本番の個人情報に新人がアクセスできない」構成は、 親切ではなく法が求める措置の一部です。

5. 保存期間と削除

□ 退会したユーザーのデータは、いつ・どこまで消すのか
□ バックアップに残ったデータはどう扱うのか
□ 削除要求(開示・訂正・利用停止)に、どう対応するのか
設計時に「消し方」を決める

新人が最も見落とすのがここです。

作る時に「どう消すか」を決めていないシステムは、消せません。

  • 他のテーブルから参照されていて消せない
  • 集計テーブルに個人が残っている
  • ログとバックアップに残り続ける

削除要求が来てから設計を考えることになります。 保持期間と削除方法は、テーブル設計と同時に決めてください。

漏洩した時の法的義務

個人データの漏洩等が発生し、一定の要件に該当する場合、報告義務があります。

1. 個人情報保護委員会への報告
   速報: 事態を知ってから速やかに(おおむね3〜5日以内が目安とされる)
   確報: 原則30日以内(不正アクセス等による場合は60日以内)
2. 本人への通知
最初にやってはいけないこと

ログを消す、証拠を消す、黙っている。

  • 調査に必要な証拠が失われる(何が漏れたか特定できなくなる)
  • 報告義務の期限は「知った時点」から進む
  • 隠蔽は、漏洩そのものより重く扱われる

新人がやるべきことは1つです。すぐに上長とセキュリティ担当に報告する。 自分で判断も対処もしないでください(監視とオンコールの障害対応と同じです)。

GDPR — 日本にいても適用されうる

EU 一般データ保護規則(GDPR) は、EU 域内の人にサービスを提供していれば、 日本の会社にも適用されます(域外適用)。

要点内容
データ主体の権利アクセス・訂正・削除(忘れられる権利)・ポータビリティ・処理への異議
通知義務侵害を認識してから72時間以内に監督機関へ
制裁金最大 2000万ユーロ、または**全世界年間売上高の4%**のいずれか高い方
設計原則Privacy by Design / by Default、データ最小化、目的の限定

米国カリフォルニア州の CCPA/CPRA など、地域ごとに別の法律があります。 グローバルに提供するサービスでは、どの地域の利用者がいるかが設計に影響します。

データ最小化は、エンジニアが今日から実践できる

GDPR の原則の1つがデータ最小化——目的に必要な最小限しか集めない、です。

「将来使うかもしれないから、とりあえず全部ログに取っておこう」

これは法的リスクを増やす行為です。持っていないデータは漏れません。

新機能の設計で「この項目は本当に必要か」と問うのは、 YAGNI(設計の基礎)であると同時に、リスク管理でもあります。

不正アクセス禁止法 — 「確認のため」でも違法

他人の ID・パスワードを使ってログインする行為は、 不正アクセス行為の禁止等に関する法律で禁じられています。

□ 「動作確認のため」に、他人のアカウントでログインする  → 違法になりうる
□ 顧客から聞いたパスワードでログインして調査する        → 手続きを踏む必要がある
□ 他社のサービスに、許可なく侵入テストを行う            → 違法
脆弱性を見つけても、勝手に試さない

他社のサービスで脆弱性に気づいた時、 「本当に攻撃できるか試してみる」は犯罪になりえます。

正しい手順はこうです。

  1. 試さない(気づいた範囲で止める)
  2. 会社の窓口・上長に報告する
  3. 相手方の脆弱性報告窓口、または IPA の届出制度を通じて連絡する
  4. バグバウンティがある場合は、その規約に定められた範囲内でのみ行う

善意であっても、範囲を越えれば違法です。 「攻撃してみた」の一線を、自分の判断で越えないでください。

不正指令電磁的記録に関する罪

いわゆるウイルス罪です。刑法に定められており、 「人の意図に反する動作をさせるプログラム」を作成・提供・供用することが対象です。

エンジニアが知っておくべきなのは、範囲が広いことです。

日本では実際に、

  • Web ページに無限ループのスクリプトを貼った件で補導された事例
  • Web サイトに閲覧者の端末で暗号資産を採掘するスクリプトを設置した件で立件され、 地裁と高裁で判断が分かれた末、最高裁で無罪が確定した事例(2022年)

があります。無罪が確定した事例ですら、そこに至るまで数年かかっています。

いたずらのつもりが刑事事件になる
□ 閲覧者の端末で、告知なく重い処理を実行させる
□ 「戻れない」ページを作る
□ 同僚を驚かせるスクリプトを社内サイトに仕込む

利用者の意図に反する動作をさせるものは、 冗談のつもりでも刑事事件になりえます。

判断の軸は、「利用者がそれを予期し、受け入れているか」です。 明示的な同意と説明があるかを、必ず確認してください。

その他、実装に影響する法律

Web サービスを作っていると、次のような規制に触れます。 すべてを覚える必要はありません。「ありそうだ」と気づければ十分です。

領域関係する規制実装への影響の例
通信電気通信事業法通信の秘密。外部送信規律(Cookie 等の外部送信の通知・公表)
メール配信特定電子メール法事前の同意(オプトイン)、配信停止手段、送信者情報の明示
表示・広告景品表示法、特定商取引法価格や効果の表示、定期購入の条件表示、解約導線
決済資金決済法、割賦販売法前払式支払手段の扱い、カード情報の非保持化
著作権著作権法コード・画像・フォント(ライセンスと依存ライブラリ)、スクレイピングの可否
医療・金融など各業法業種ごとの認可・記録保存・監査要件
輸出外為法など暗号技術を含む製品の提供
AIEU AI Act、各種ガイドライン用途によるリスク分類、透明性の確保
「解約しにくい UI」は法的リスク

定期購入・サブスクリプションで、

  • 解約ボタンを見つけにくい場所に置く
  • 解約に電話を必須にする
  • 「本当に解約しますか」を何度も出す

これらは特定商取引法や景品表示法の問題になりえます。 次章で扱うダークパターンは、倫理の問題であると同時に、法の問題でもあります。

「離脱率を下げたい」という要求が来た時、手段が線を越えていないかを 見るのはエンジニアの役割でもあります。

自分を守る法律も知っておく

法律は義務だけではありません。あなたを守るためのものもあります。

□ 労働基準法      労働時間、割増賃金、休憩(この教科書の使い方のとおり、記録は会社の義務)
□ 労働安全衛生法  長時間労働者への医師の面接指導など
□ 公益通報者保護法 不正を通報したことを理由とする不利益な取扱いの禁止

「終わるまで帰れない」「サービス残業」は、あなたが我慢する話ではありません。 違和感があれば、上長・人事・社内の相談窓口に相談してください。

法務にいつ聞くか

新人が最も困るのは、「これは聞くべきことなのか」の判断です。 次のどれかに当てはまったら、聞いてください。

□ 個人情報を、新しい目的で使う / 新しい範囲で集める
□ 外部サービスにデータを渡す(分析タグ・SaaS・API 連携)
□ データを海外に置く
□ 利用規約・プライバシーポリシーに書いていないことをやる
□ メールやプッシュ通知を一斉配信する
□ 決済・与信・課金に関わる
□ 他社のデータを取得する(スクレイピング、API 利用規約)
□ ライセンスが GPL / AGPL のものを使う(ライセンスと依存ライブラリ)
□ 解約・キャンセルの導線を変える

聞く時は、判断を丸投げせず、事実を整理して持っていきます(ドキュメントを書く)。

【やりたいこと】退会後もレコメンド精度のために購買履歴を6ヶ月保持したい
【現在のポリシー記載】「退会時に速やかに削除」と記載あり
【技術的な選択肢】(1) 即時削除 (2) 匿名加工して保持 (3) ポリシー改定
【聞きたいこと】(2) は可能か。可能なら、どの程度の加工が必要か
聞くのはコストではない

法務に確認するのは、数日かかることがあります。 だから「聞かずに進めたほうが速い」と感じます。

しかし、リリース後に問題が判明した場合のコストは、桁が違います。

  • サービスの停止
  • 全ユーザーへの通知と謝罪
  • 行政対応
  • 信用の失墜

設計の段階で相談すれば、たいてい数日で終わります。

機能追加のため、ユーザーの位置情報を新たに取得したいと考えています。最初にすべきことは?

実務の落とし穴まとめ

  1. 「メールアドレスだけなら個人情報ではない」 — 識別できるなら個人情報
  2. 利用目的を確認せず、データを新しい用途に使う — 目的外利用になりうる
  3. 分析タグを軽い気持ちで入れる — 第三者提供・外部送信規律の論点が発生する
  4. 海外リージョンを何となく選ぶ — 越境移転の要件がある
  5. 削除方法を決めずに作る — 後から消せない
  6. とりあえず全部ログに取る — 持っているだけでリスク。データ最小化
  7. 漏洩を自分で判断・対処しようとする — 報告義務の期限は「知った時」から進む
  8. 証拠を消す — 何が漏れたか特定できなくなり、隠蔽と見なされる
  9. 「確認のため」に他人のアカウントでログイン — 不正アクセスになりうる
  10. 脆弱性を見つけて試す — 許可の範囲を越えれば違法
  11. 解約しにくい UI を作る — 特商法・景表法のリスク
  12. 法務に聞かずに進める — 事後のコストは桁違い

まとめ

  • 法が求める要件を実際にコードにするのはエンジニア。方針だけでは実現しない
  • 個人情報は、利用目的・第三者提供・越境移転・安全管理・保存期間が論点。 設計時に「どう消すか」まで決める
  • 漏洩時は報告義務がある。自分で判断せず、すぐ上長へ。証拠を消さない
  • GDPR は日本の会社にも適用されうる(域外適用)。72時間通知、制裁金は売上の4%
  • データ最小化は、今日から実践できる最も効果的なリスク対策
  • 他人の ID でのログイン、許可のない脆弱性の検証は違法になりうる
  • 「意図に反する動作をさせるプログラム」は、いたずらでも刑事事件になりうる
  • 通信・メール配信・表示・決済・著作権など、関係しそうだと気づけることが重要
  • 労働に関する法律は自分を守るもの。我慢する話ではない
  • 迷ったら法務に、事実を整理して聞く。それが最も安いルート

公式ドキュメント

迷ったら一次情報に戻ってください。

対象リンク
個人情報保護委員会https://www.ppc.go.jp/
個人情報保護法 ガイドラインhttps://www.ppc.go.jp/personalinfo/legal/
IPA 情報セキュリティhttps://www.ipa.go.jp/security/
IPA 脆弱性関連情報の届出https://www.ipa.go.jp/security/vuln/report/
e-Gov 法令検索(条文を引く)https://elaws.e-gov.go.jp/
厚生労働省 労働基準(労働時間・休憩)https://www.mhlw.go.jp/stf/seisakunitsuite/bunya/koyou_roudou/roudoukijun/index.html

章末問題

運用中に、あるユーザーの問い合わせ調査で他人の注文データが表示されていた形跡を見つけました。最初に何をしますか。

他社が公開している Web サイトから、大量にデータを取得して自社サービスで使いたいという要望が来ました。どう対応しますか。

第7部の最後は、法律より広い——技術者としての責任の話です。

読み終わったら記録しておくと、目次で進み具合が分かります。