GDPR対象業者の判断基準とプライバシーポリシーを書く際のポイントまとめ

GDPR対象業者の判断基準とプライバシーポリシーを書く際のポイントまとめ

GDPR対象業者の判断基準とプライバシーポリシーを書く際のポイントまとめ

MarkdownノートアプリInkdropを一人で開発しているTAKUYAです。InkdropはEUにもユーザが結構いるので、GDPR (EU General Data Protection Regulation)への対応準備を進めていました。GDPRはEUの個人情報保護に関する新しい法律です。この度、施行予定日の2018年5月25日に無事間に合わせることができました。

プライバシーポリシーをイチから書き直し、曖昧な表現を避けて、GDPRで要求されている個人情報取り扱いに関する情報を全て開示しました。書くの大変だった・・。

先日、GDPRに関する自分用のメモとして以下の記事を書いたら、予想以上に反響が大きくてびっくりしました。日本語で開発者向けの分かりやすくまとまった情報が無いのがまず問題ですね。

本稿では実際に対応してみて分かったことや、プライバシーポリシー準備の注意点などをシェアしたいと思います。これから対応される方の参考になれば幸いです。

Inkdropは今回GDPR対応したものの、GDPR対象業者とは「見なされない」という判断が出来ます。なので、対応しないという選択肢もありました。理由は以下のとおりです。

GDPRはサービスや会社の規模に関係なく適用されるルールなので、たとえ個人開発の零細アプリであろうとも原則対象となります。しかしながら、じゃあ英語でサービスを公開しただけで対象になるのかというと必ずしもそうではありません。ここでは僕のように日本で活動していてEUに拠点がない業者について検討します。

EUに拠点がない業者は “Article 3 Territorial scope”の域外適用の項目に該当します。これに関する日本語の解説は以下の記事が役に立つでしょう。

以下のいずれかに該当すればGDPR対象業者とみなされます:

(a)EU 在住のデータ主体に対する商品・サービスの提供に関する処理。(b) EU 域内で行われるデータ主体の行動の監視に関する処理。

(a)はEUにユーザがいれば対象となるように受け取れますが、全てではありません。なぜならインターネットのサービスは基本的にどこからでも利用可能だからです。あなたが日本人向けに作っていたとしても、インターネットに公開していればEUの人が使うことは原理的に可能です。そのため、GDPRはRecital 23にて以下のように補足しています:

Recital 23: “Whereas the mere accessibility of the controller’s, processor’s or an intermediary’s website in the union, of an email address or of other contact details, or the use of a language generally used in the third country where the controller is established, is insufficient to ascertain such intention.” — What does territorial scope mean under the GDPR?

すなわち、単にアクセス可能であることはEU在住に対するサービス提供とはみなされないという事です。ではどういう時にみなされるのかというと:

Recital 24: “Factors such as the use of a language or a currency generally used in one or more Member States with the possibility of ordering goods and services in that other language, or the mentioning of customers or users who are in the Union, may make it apparent that the controller envisages offering goods or services to data subjects in the Union.” — What does territorial scope mean under the GDPR?

これは経済産業省のガイドラインにも同じ内容の補足があります:

※4 どのような言語や通貨が使用されているか、EU域内の個人に関する言及があるか、商品やサービスの提供範囲等を考慮して判断 され、単に英語のウェブサイトを載せているだけでは適用されません。

つまり、ユーロやポンド建ての決済に対応していたり、フランス語でサービスを提供していたりすると対象になります。EU向けに広告を出していても対象になります。Inkdropの場合は英語で、USDによる決済のみ対応しています。広告は出していません。なので、(a)には該当しないと判断できます。

この事から、もしあなたが特にEU向けにサービスを提供していないなら、GDPRを避けるためにわざわざEUからのアクセスをシャットアウトする必要はありません。

(b)に関しては、ユーザの行動履歴を収集していたら該当しますが、これも全てではありません。Racital 24によれば、主に用途で左右されます:

Recital 24: “Natural persons are tracked on the internet including potential subsequent use of personal data processing techniques which consist of profiling a natural person, particularly in order to take decisions concerning her or him or for analyzing or predicting her or his personal preferences, behaviors and attitudes.” — What does territorial scope mean under the GDPR?

要するに、個人の嗜好を分析してパーソナライズする機能を付けたり、広告のリターゲティングを行ったりする目的で情報を収集すると対象となります。また、位置情報をトラッキングするのもこれに該当します。地図系やライフログ系は注意ですね。Inkdropではこれらの目的で個人情報を取り扱っていないので該当しないと判断できます。

以上の理由から、InkdropはGDPRに対応しないという選択も出来ました。しかしながら、Inkdropは個人用メモサービスとしてセンシティブなノートデータを扱います。サービスがGDPRに準拠していると言うことは一定のプライバシー保護基準を満たしていると言うことです。それはEUのみならず日本も含めたユーザの皆さんにとっても安心できるメリットがあります。だからInkdropが対応する意義はとても大きいと考えました。

GDPRは、対象業者にDPO(データ保護担当者)を任命するように義務付けています。要はプライバシーと法律の専門家を雇って業者の健全性を保つのが目的です。個人開発者にとって、この費用は甚大なものです。

当初InkdropはDPOを雇う必要があると勘違いしていて、先日「雇えないからGDPRの対応を諦めたよ」とユーザにアナウンスしました。でも一部の親切なユーザさんが以下の情報を教えて下さったおかげで、DPOを雇わなくてもいいことが分かりました。本当に感謝。

DPOの任命は全ての業者に義務付けられるものではなく、以下のような条件があります:

You should consider whether you are required to formally designate a Data Protection Officer (DPO). You must designate a DPO if you are:* a public authority (except for courts acting in their judicial capacity);* an organisation that carries out the regular and systematic monitoring of individuals on a large scale; or* an organisation that carries out the large scale processing of special categories of data, such as health records, or information about criminal convictions. The Article 29 Working Party has produced guidance for organisations on the designation, position and tasks of DPOs.From Point 11 on https://ico.org.uk/media/1624219/preparing-for-the-gdpr-12-steps.pdf

つまり、あなたが公的機関だったり、大規模に個人情報を収集して処理したり、医療データや政治データを取り扱っている場合は義務があります。Inkdropはいずれも該当しないので、任命義務はありません。

GDPRの個々の保護規則には曖昧な点が多く、専門家の間でも判断の分かれるところが多いです。しかし上記のように業者が専門家を雇う義務もないことから、弁護士などに相談せずに対応することは実質可能です。とはいえ適当に対応して意図せずルールを破るわけにはいきません。そこでInkdropは対応済みのサービスに倣うことにしました。

やはり参考にするなら業界をリードするような有名サービスです。Digital OceanやEvernote、Kickstarterなどなど。下記のようなサービスを使ってGDPR対応済みのサービスを探して参考にするのもいいでしょう。

僕はnpm, inc.のプライバシーポリシーを参考にしました。なぜなら最もシンプルで分かりやすかったからです。こういう規約系文書は法的用語などを多用した難解な言い回しが多いのが実情です。しかしnpmのものは常用語のみで表現されていて明快でした。これを真似してInkdropのプライバシーポリシーを作成しました。

以降よりプライバシーポリシーに明記すべきポイントを説明します。npmのプライバシーポリシーと照らし合わせながら読んでみてください。

まずは方法から明確にします。サービスに登録した時なのか、サイトにアクセスした時なのか、アプリを利用した時なのか、などなど。

次に、具体的に収集するデータの内容を説明し、その目的も説明します。ユーザの投稿データを蓄積するならその旨と目的を。サーバログを蓄積するなら、IPアドレスやURLなど。

IPアドレスなどが記されたサーバログなどは数週間以内に削除する旨を明記します。ただし、サーバ障害対応など必要に応じて長く保持することもあることを記します。

カード情報は特に貴重なので詳しく説明します。どの外部システムと連携して請求を行うのか、カード情報は誰が受け取って保管するのかなどを明記します。不要になり次第消去されることを記載します。

データが保存されるサーバはどの国にあるのかを明記します。開発のためにデータを一時的に取得する場合も、取得者はどの国にいて作業するのか記します。

ユーザは自分のデータにどうすればアクセスできるのかを明記します。エクスポートの方法も記載します。

「忘れられる権利」を満たすための機能を説明します。ユーザはいつでもデータを削除できることを記載します。アカウントを削除すると何が起こるのかを明記します。データが削除される代わりに匿名化される場合はそれを明記します。必要があればそれも削除できることを説明します。

Google Analyticsに代表されるようなサードパーティーツールを使って個人情報を取り扱う場合は、全ての使用サービスを列挙します。つまりAWSやHerokuなどを含め、データの保存や処理するために使っているサービスをすべて書き出します。

例えばパーソナライゼーションやリターゲティングのために個人情報を使っている場合は、その旨を詳しく説明します。やっていなければ、していないことを明記します。

以上、InkdropのGDPR対応を通して学んだ事をまとめました。多少の苦労は強いるものの、GDPRは基本的に個人情報の取扱いにやましい所がなければすんなり対応できます。適当にコピペでは済まないので、英語が苦手だったら死にます。お陰で法律関係の英文資料に少しだけ強くなりました。

特にSNSはこれからデータ利用に関して風当たりが強くなりそうです。新しくサービスを作る際は、エクスポート機能と消去機能に気をつければ問題なさそうです。複雑なデータモデルだと、その実装が面倒なんですけどね。今後、DBMSやSaaSにこの辺の苦労を緩和してくれる機能が付くことを期待します。

使ってね!!

Read more

ノート駆動AIコーディング術の提案

ノート駆動AIコーディング術の提案

どうもTAKUYAです。みなさんはAIエージェントを普段のコーディングで活用されていますか。ちょっと面白いワークフローを思いついたのでシェアします。それは、ノート駆動のエージェンティック・コーディング・ワークフローです。最近Claude Codeのプランモードを使っていたら、ターミナル内で生成されたプランを読むのが辛かったんです。それで、じゃあMarkdownノートアプリであるInkdropをプランの保存先バックエンドとして使えば解決するんじゃないかと思って、 試してみました。こちらがそのデモです(英語): こちらがClaude Codeの設定ファイル群です: GitHub - inkdropapp/note-driven-agentic-coding-workflow at devas.lifeComplete Claude Code configuration collection - agents, skills, hooks, commands, rules, MCPs. Battle-tested configs from an Anthropic hackathon w

By Takuya Matsuyama
2025年個人開発活動の振り返り

2025年個人開発活動の振り返り

どうもTAKUYAです。もう1月も半ばに差し掛かっているけど、2025年の自分の活動の振り返りをしたい。去年を一言で言うなら、本厄を満喫した年だった。 厄年とは、人生の節目にあたって、体調不良や災難が起こりやすいと経験的に言われる年齢のこと。数え年で42歳、確かにもう若さに任せた事は出来ないなと痛感した年だった。(ところであなたの国ではこのような年はありますか?) 夏に体調を崩して2~3ヶ月動けなくなった 暖かくなり花粉が飛び出した頃に、持病のアトピーが悪化しだして、まともに生活出来なくなってしまった。酷さで言うと、2019年に脱ステした時と同じぐらい。 脱ステに無事成功したから、この地獄は二度と味わうことはないだろうと高を括っていたが、まさか7年後にまた味わうとは思わなかった。当時の独身時代と違い、妻も子供もいる中で、周りに多大な迷惑をかける事となった。夏の子供との思い出が全く無い。悲しい。 現在はQoLもほとんど元の状態まで復活できた。写真を撮って症状の変化を記録したので、機会があればシェアしたい。食事療法など色々試したが、結局歩くのが一番自分に効いた。それ以来、一日一万歩

By Takuya Matsuyama
書いて、歩け!なぜノートアプリはシンプルで充分なのか

書いて、歩け!なぜノートアプリはシンプルで充分なのか

どうもTAKUYAです。今回はノートやメモから新しい発想を生むための考え方についてシェアします。 自分はシンプルさをウリにした開発者向けのMarkdownアプリInkdropを作っています。なので、どうしても「ノートアプリの作者」としてのポジショントークが含まれてしまいますが、逆に言えば、「ノートアプリを約10年間作り続けてきた人間が、どうやってアイデアを生み出しているのか」 という実際的な体験談として読んでもらえれば幸いです。 結論から言うと、僕は「アプリ上でノート同士を連携させる必要はない。繋げるのはあなたの脳だ」と考えています。本稿では、ノートアプリの機能に溺れずユニークなアイデアを考え出すために僕が実践している事をシェアします。 TL;DR * ノート整理に時間をかけるな。グループ化で充分だ * すごい人はアイデアが「降りてくる」のを待つ * プログラミング × 料理動画 という有機的な掛け合わせ * ノートは「忘れる」ために書く * 歩け! ノート整理に時間をかけるな。グループ化で充分だ 巷ではZettelkastenなどが流行っているようですね。これ

By Takuya Matsuyama
貫禄を捨てて愛嬌で生き延びろ!40代オッサンの生存戦略

貫禄を捨てて愛嬌で生き延びろ!40代オッサンの生存戦略

どうもTAKUYAです。 つい先週(11月19日)に誕生日を迎え、41歳になりました。40代と言うのは若い頃には想像もしなかった年代で、どう生きれば良いのかというイメージがあまり具体的に湧かない、曖昧な年齢ではないでしょうか?自分の父親を想像するも、日中はいつも仕事でいなかったのであまり参考になりません。 自分は個人開発で生計を立てていて20代、30代で積み上げて来たものが上手く実を結んだおかげで今の生活があります。育児にも、いわゆるサラリーマンよりかは柔軟に参加できていて、子供との時間も沢山取れています。ママ友も出来ました(迷惑かけっぱなしですが)。 本記事では、そんなライフスタイルを送る自分が40代で大事にしたいことについて書きたいと思います。タイトルにもある通り、結論から言うとそれは「愛嬌」だと思います。以下、中年男性の愛嬌の重要性について説明します。 TL;DR * 「貫禄が出てきたね」と言われたら注意 * 笑顔を作れ。オッサンがムスッとしてたら普通に怖い * 謙虚に振る舞え。実績を積むと周りが萎縮する * ギャップ萌えを活用しろ 「貫禄が出てきたね」と言わ

By Takuya Matsuyama