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

Inkdrop v6 Canary版リリースしました — 新Markdownエディタやその他新機能盛り沢山

Inkdrop v6 Canary版リリースしました — 新Markdownエディタやその他新機能盛り沢山

Inkdrop v6.0.0 Canary版リリースしました — 新Markdownエディタやその他新機能盛り沢山 こんにちはTAKUYAです。 v6.0.0 の最初の Canary バージョンをリリースしました 😆✨ v6では、アプリのコア機能の改善がたくさん盛り込まれています! * リリースノート(英語): https://forum.inkdrop.app/t/inkdrop-desktop-v6-0-0-canary-1/5339 CodeMirror 6 ベースの新しいエディタ フローティングツールバー v5ではツールバーがエディタの上部に固定されており、使っていないときもスペースを占有していました。 v6では、テキストを選択したときだけ表示されるフローティングツールバーに変わりました。 GitHub Alerts 構文のサポート Alerts の構文が正しい色と左ボーダーでハイライトされるようになりました。 ネストされたアラートや引用にも対応しています。 また、アラートタイプの入力を支援する補完機能も追加されました。 スラッシュコマンド 空行で /

By Takuya Matsuyama
AIのお陰で最近辛かった個人開発がまた楽しくなった

AIのお陰で最近辛かった個人開発がまた楽しくなった

AIのお陰で最近辛かった個人開発がまた楽しくなった こんにちは、TAKUYAです。日本語ではお久しぶりです。僕はInkdropというプレーンテキストのMarkdownノートアプリを、デスクトップとモバイル向けにマルチプラットフォームで提供するSaaSとして、かれこれ9年にわたり開発運営しています。 最近、その開発にClaude Codeを導入しました。エージェンティックコーディングを可能にするCLIのAIツールです。 最初の試行は失敗に終わったものの、徐々に自分のワークフローに馴染ませることができました。そして先日、アプリ開発がまた「楽しい」と感じられるようになったのです。これは予想外でした。 本稿では、自分がエージェンティック・コーディングをワークフローに取り入れた方法と、それが個人開発への視点をどう変えたかを共有します。 * 翻訳元記事(英語): Agentic coding made programming fun again 自分のアプリに技術的負債が山ほどあった ご想像のとおり、9年も続くサービスをメンテするのは本当に大変です。 初期の頃は新機能の追加も簡単で

By Takuya Matsuyama
個人開発を7年以上続けて分かった技術選択のコツ

個人開発を7年以上続けて分かった技術選択のコツ

個人開発を7年以上続けて分かった技術選択のコツ InkdropというMarkdownノートアプリを作り続けて7年になる。 お陰さまでその売上でずっと生活できている。 これまで個人開発でどう継続していくかについて「ユーザの退会理由をあれこれ考えない」とか「アプリの売上目標を立てるのをやめました」とか、ビジネス面あるいはメンタル面からいろいろ書いてきた。 今回は、技術面にフォーカスして、どう継続して開発していくかについてシェアしたい。 TL;DR * 最初はとにかく最速でリリースする事を最優先する * 迷ったら「ときめく方」を選べ * 程よいところで切り上げて開発を進める * 使っているモジュールがdeprecatedされるなんてザラだと覚悟する * 古いから悪いとは限らない * シンプルにしていく * 老舗から継続の秘訣を学ぶ * 運ゲー要素は排除しきれない 最初はとにかく最速でリリースする事を目標に技術選定する 開発計画とビジネス計画は切っても切り離せない。 コーディングに傾倒するあまり完璧主義に陥って結局リリース出来ないまま頓挫してしまう個人開発者は多い

By Takuya Matsuyama
子育て中の個人開発者の一日

子育て中の個人開発者の一日

子育て中の個人開発者の一日 どうもTAKUYAです。 久しぶりに生活まわりの事を書きたい。自分はInkdropというMarkdownノートアプリを売って生きている。 子供も無事順調に成長しており、あと数ヶ月で3歳になるというところで、イヤイヤ期もやっと終わりが見えてきた。 生活パターンもなんとなく定着しつつあるので、ここで一旦どんなルーティンなのか書き出してみる。ちなみに当方今年で40歳。 平日の1日の流れ * 06:30 妻と子供起床、朝食 * 07:10–30 俺起床、朝食 * 07:40 布団を畳んで子供を着替えさせる。妻はその間に化粧や通勤の準備 * 08:00 ストレッチと軽い筋トレ(腕立て50回、スクワット100回) * 08:10 妻と子供を見送る。15分前後瞑想 * 08:30 散歩 * 09:00 作業開始(カフェまたは家) * 11:00 昼飯 * 12:00 ダラダラする * 12:30 作業再開(だいたい家)

By Takuya Matsuyama