By · Last updated 2026-06-05

ブログに戻るGDPRおよびコンプライアンス

Excel GDPR: スプレッドシートのPII匿名化

MicrosoftExcelスプレッドシートに含まれたPIIの自動検出と匿名化。ビジネスユーザー向けツール実装。

June 5, 20268 分で読めます
Excel GDPRspreadsheet anonymizationXLSX complianceHR datadata minimization

なぜExcelが最もリスクの高いファイル形式なのか

Excelファイルは、ほとんどの企業においてGDPRリスクが最も高いファイル形式の一つです。医療記録は1行あたりより機密性の高いデータを含む場合があります。しかし、スプレッドシートは個人情報を静かに蓄積し続け、コンプライアンスチームが見落とすことが多いのです。

Excelファイルの管理を難しくする要因が三つあります。

データ量: 1つのXLSXファイルに50,000行、100列を持つことができます。これは500万セルに相当します。すべてのセルを手作業で確認するのは不可能です。

グリッド構造: テキストは一方向に流れます。Excelは行と列にデータを分散させます。個人情報はグリッドのどこにでも潜んでいる可能性があります。

混合コンテンツ: 給与帯、部門コード、パフォーマンス評価が、マイナンバーやメールアドレスと同じファイルに存在します。すべてを削除するとファイルが使い物にならなくなります。

長期保存: 従業員リストや顧客データベースはExcelファイルに何年も保存されます。GDPR第5条(1)(e)は「必要以上に長く」データを保持しないよう求めています。「役に立つかもしれない」ファイルは、この期限をはるかに超えて残り続けることがよくあります。

なぜ標準的なテキスト分析がスプレッドシートで失敗するのか

テキスト分析ツールは文書向けに設計されています。スプレッドシートでは予測可能な方法で失敗します。

数値として保存されるマイナンバーの問題

Excelはハイフンなしで入力されたマイナンバー(123456789)を文字列ではなく通常の数値として保存します。「###-##-####」のパターンを検索するスキャナーではこれを見つけられません。優れたツールは「マイナンバー」と書かれた列にある9桁の数値を個人番号として認識できなければなりません。

数値として保存される日付の問題

Excelは内部的に日付をシリアル番号として保存します。2024年2月6日は45329として保存されます。CSVエクスポートでは「生年月日」列に「45329」と表示されます。スキャナーはその数値を日付に変換してから評価する必要があります。

部分的なマイナンバーの問題

一部のシステムではマイナンバーの最後の4桁のみを表示します(***-**-1234)。完全な番号はロックされた別の列にあります。完全なマイナンバーのパターンに一致しなくても、部分的な値も匿名化する必要があります。

数式による個人情報の問題

セルが他のセルから個人情報を生成することがあります。=CONCATENATE(B2," ",C2) を含むセルは、姓と名の列からフルネームを表示します。B列とC列をクリアしても、そのフルネームは数式セルに残ります。格納された値だけを読み、数式の参照を考慮しないツールは、ソースセルをクリアした後も個人情報が数式の出力に残ります。

複数シートの整合性の問題

大きなワークブックには5つのシートがあるかもしれません:顧客リスト、注文、サポートチケット、請求、分析。顧客名はすべての5つのシートに現れます。あるシートの「田中太郎」は他のすべてのシートで同じトークン「PERSON_0047」になる必要があります。2つの異なるトークンはレコードのリンクを壊してしまいます。

検出シグナルとしての列ヘッダー

スプレッドシートの個人情報検出における最大の改善は、列ヘッダーの分析です。

「マイナンバー」または「社会保障番号」という名前の列は、その列のすべての値をマイナンバーとして扱うようにツールに指示します。値が部分的で、異なる形式で、または数値として保存されていても機能します。

列ヘッダー検出シグナル
マイナンバー / 社会保障番号 / 税務ID9桁の数値をマイナンバーとして処理
メール / メールアドレス部分的なメールパターンも検出
電話 / 携帯 / 手機あらゆる電話番号形式を受け入れる
生年月日 / 誕生日シリアル番号を日付に変換
名 / 姓 / フルネーム名前検出の閾値を下げる
住所 / 丁目 / 市区町村 / 郵便番号地理的フィールドを組み合わせる
患者ID / カルテ番号 / レコード番号医療ID用パターンを適用

列コンテキストはコンテンツ分析の代わりにはなりません。補完するものです。100個の値を持つ「マイナンバー」列では、コンテンツスキャンで99個の正しくフォーマットされた値を検出します。列コンテキストは、不正なフォーマットや部分的な値を1つ見つけます。

構造を保ち、名前を削除する

ほとんどのExcel GDPRシナリオの目標は、ファイルを破壊することではありません。ファイルを有用にする部分を保持しながら、個人識別子を削除することです。

15,000行の従業員記録ファイルの場合、GDPRコンプライアンス担当者が必要とするのは:

削除:

  • 従業員名 → PERSON_XXXXトークン
  • マイナンバー → REDACTED
  • メールアドレス → REDACTED
  • 電話番号 → REDACTED
  • 自宅住所 → REDACTED

保持:

  • 部門コード
  • 役職名(一般的な役割のみ)
  • 給与帯(大まかなカテゴリ)
  • パフォーマンススコア(グループデータ)
  • 入社日(在職期間の統計のため)
  • 管理者コード(一貫して仮名化されている場合)

「個人を特定するデータ」と「雇用パターンを説明するデータ」の違いを理解するツールは、HRアナリティクスの目的に引き続き役立つファイルを生成しながら、データ最小化および仮名化の要件を満たします。

実際のケース:M&A人事データの移転

買収企業は対象企業から従業員記録を受け取ります。これは15,000行40列のXLSXファイルです。このファイルは福利厚生統合計画のために外部HRコンサルタントに送付する必要があります。GDPRは、その目的に必要なデータのみを共有することを義務づけています。

処理前: 40列にフルネーム、マイナンバー、メールアドレス、自宅住所、緊急連絡先、給与振込口座情報が含まれる

列コンテキスト処理後:

  • 12列が直接識別情報(名前、マイナンバー、メール、電話、住所、口座情報): 一貫したトークンに置換
  • 3列が間接識別情報(従業員ID、管理者コード、職種コード): ファイル内で一貫した仮名トークンに置換
  • 25列が集計データ(給与帯、部門、在職期間、グレード): 変更なし

処理時間: 600,000セルに8分

出力: 元のXLSX形式、40列、15列が匿名化/仮名化、25列が変更なし

監査レポート: エンティティタイプ、信頼スコア、使用した列コンテキストシグナルを含む200,000件以上のアクションのセルレベルのログ

HRコンサルタントは、個人情報なしで仕事に必要な完全なデータセットを取得できます。GDPRコンプライアンス記録は、特定のタスクに必要なデータのみが共有されたことを示す目的制限の証明を得ます。

この課題はExcelに限ったものではありません。各ファイル形式はそれぞれ独自の方法で失敗します。形式の断片化が個人情報検出に与える影響を参照してください。

GDPRの第5条を3つの要件、1つのプロセスで満たす

構造化されたスプレッドシート匿名化は、3つのGDPRルールを同時に満たします。

データ最小化(第5条(1)(c)): 特定の目的に必要な列のみが受信者に送られます。識別情報を含む列は匿名化されます。

保存の制限(第5条(1)(e)): 元のファイルは法定保存期間のために保持されます。短いまたは保存要件がない共有コンテキスト用に匿名化されたバージョンが作成されます。

完全性および機密性(第5条(1)(f)): 識別情報はすべての共有インスタンスから削除されます。匿名化されたバージョンのみが管理環境から外に出ます。

匿名化プロセスの監査記録は、第5条(2)の責任文書を提供します。各ファイルの処理について各原則への準拠を実証します。

チームがDSARや大規模なデータエクスポートを扱う場合、同じロジックがAPIレベルにも適用されます。リアルタイムAPIでGDPRデータ最小化がどのように機能するかを参照してください。

大量処理と厳しい期限を抱えるチームは、GDPRのDSARバッチ処理(大規模対応)も参照してください。

情報源

データを保護する準備はできましたか?

48言語で285以上のエンティティタイプを使用してPIIを匿名化し始めましょう。

About this page

We update this page when our platform or the law changes.

Read our founder note for how we work.

Each change shows up in the timestamp at the top.

Related reading

We follow these rules

  • GDPR (EU 2016/679).
  • ISO/IEC 27001:2022.
  • NIS2 (EU 2022/2555).
  • HIPAA safe harbor under 45 CFR § 164.514(b)(2).

Our promise

We do not sell your data.

We do not train models on your text.

We store your files in Germany.

You can delete your account at any time.

You own your work.

Where we run

Our servers live in Falkenstein, Germany.

We use Hetzner. They hold ISO 27001 certification.

All data stays in the EU.

Backups run every day.

Need help?

Email support@anonym.legal.

We reply within one business day.

How we test

We run a full check suite on every release.

Each surface gets its own sweep script and report.

Human reviewers spot-check the output each week.

We track recall and precision on a labelled set.

Bad runs block the deploy.

What we never do

  • We never sell your information to third parties.
  • We never train models on what you upload.
  • We never keep your work after you delete it.
  • We never share keys with any outside firm.
  • We never run ads inside the product.

Plans in plain words

We sell credits, not seats.

One credit covers one short job.

Long jobs use a few credits each.

You can top up at any time.

Unused credits roll over each month.

Read the plans page for current rates.

Who built this

A small team of engineers and lawyers built this.

We ship from Europe and work in the open.

Our founder note spells out why we started.

Where to start

How the parts fit

A browser add-on cleans text inside Chrome.

A Word plug-in handles drafts in Office.

A small desktop tool works on whole folders.

An agent protocol link feeds large models safely.

All four share one core engine and one rule set.

Words from our team

We started this work after a lunch about cookies.

One friend kept getting odd ads on her phone.

We asked why a court file leaked through a draft.

We sketched the first build on a napkin that week.

By month three we had a tiny demo for a friend.

She used it on her first case the next day.

Common questions we hear

Can the tool read scanned PDFs? Yes, with OCR.

Does it work on long files? Yes, in small chunks.

Can I roll my own rule set? Yes, save it as a preset.

Does it run offline? The desktop build runs offline.

Do you keep my files? No, the cloud build wipes after each run.

Will it learn from my work? No, we never train on inputs.

A short tour of the workflow

Upload a file or paste a snippet of prose.

Pick the entities you want gone from the draft.

Choose a method: replace, mask, hash, encrypt, or redact.

Press run and watch the side panel show each hit.

Skim the result and tweak any rule that misfired.

Save the cleaned file or send it to a teammate.