【Flutter】個人開発アプリを作成したら「大分県警察」と協力関係を締結するまでになった話をしよう。

どうも、個人でアプリ開発をしているYuKiOです。
最高にかっこいいメモアプリ「HackerMemo」などアプリを15本リリースしています。

15作目のアプリをリリースしたのですが、最初は個人開発のチカラで困っている人を助けたいという気持ちでアプリを開発し始めたのですが、最終的には大分県警察と協力関係締結するまでに至りまして、なかなか苦労しました。

なぜ、締結することになったのか、そして個人アプリ開発者、特にこれから個人アプリ開発される方に、アプリを開発するまでの注意点を伝えられたらと思います。

結論は「AppStoreのガイドラインはよく読めよ！」ってことです。

どういうことは最後まで読んで頂けたらと思います。


# 「みんなのチカラ」というアプリを開発したが・・・
15作目のアプリは、指名手配犯の目撃情報を簡単通報できる「みんなのチカラ」というアプリです。作成の経緯はこのツイートを読んで頂ければと思います。（拡散だけでも協力ください！お願いします！）

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">【拡散希望】ぜひ力を貸してください！！<br>大分で発生した悲惨な死亡ひき逃げ事件で犯人が逃走中なのをご存知でしょうか？<br>容疑者逮捕に協力する為、簡単に目撃情報などを提供できる「みんなのチカラ」というアプリを作りました。<br><br>拡散協力頂けると幸いです🙏<br><br>どんなアプリかとと経緯ですが・・… <a href="https://t.co/82kUjUA3zk">pic.twitter.com/82kUjUA3zk</a></p>&mdash; YuKiO｜アプリ個人開発｜Flutter × Firebase (@oo_forward) <a href="https://twitter.com/oo_forward/status/1701840126228500942?ref_src=twsrc%5Etfw">September 13, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

このアプリ自体はとてもシンプルで、
・FlutterFirebaseの組み合わせて、地図をタップすることで位置情報と目撃情報を投稿でき、情報はFirestoreに保存される仕組みです。またFunctionで自動的に、通報データを警察へ提出しやすいように変更しています。

状態管理はriverpodとhooksを利用しています。

ログインに関しては、ユーザーを識別する必要がないため、匿名ログインを採用しています。

このように技術的には特に難しい問題もないのですが・・・

AppStoreのデベロッパー向けのガイドラインに落とし穴がありました。

# Appleのデベロッパー向けガイドラインに落とし穴
Appleのデベロッパー規約では、「犯罪行為などの通報機能」については現地法的機関との協力関係が必要とあります。

この規約に引っ掛かりまして、１ヶ月くらいかな？「目撃情報は犯罪行為ではない」など色々と交渉をしましたがNG。

# 詳細を教えてくれない
事前に直接大分県警に電話したりしてアプリ作成に問題はないのかチェックしていたのですが、そんなところで引っかかるとも思っていませんでした。

交渉しても埒が開かないので、【逃亡中】別府市大学生死亡ひき逃げ事件の早期解決を願う会さん経由でコンタクトをとり、お力を借りて、大分県警さんとの締結は了承を得れることができました。

ただしどんな様式で、どんな情報が必要なのかはAppleに聞いても具体的な内容は教えてくれず、「警察とのパートナーシップを証明できるあらゆる書類」という回答でした。

今回は大分の事件をメインに扱うのですが、大分県警でいいのか？通報は全国から可能性があるので、全国47都道府県の警察と締結が必要なのか？それとも警察庁で一括でできるのか？

このあたりは一切情報が開示されません。フォーマットをチェックもしてくれません。

「警察とのパートナーシップを証明できるあらゆる書類」とあったので、最初はEメールで試してみましたがNG！

これは英語の表現と日本語の差だと思うのですが、英語のドキュメントって公文書みたいな意味合いが強いのかなと。

公的機関との契約なので何度も契約するわけにいかないので、四苦八苦しながら契約書作成してなんとか審査を通すことができました。

個人開発アプリで、公的機関と締結したのは初めて？くらいなのかなと勝手に思っていますが、ここには書けないほど大変でした。


# ここからアプリ開発者が学べる教訓
特にAppleですが、ガイドラインは多岐にわたり、訴訟回避のためなのか曖昧なことが多いです。
アプリのアイデアが思いついても以下で問題がないかをチェックしてほうがいいです。

**特にストアに競合や前例がないアプリは！もしかしたら、ガイドラインが問題かもと疑ってください！**

## 法的に問題ないか?

当たり前のところですが、見落としがちなのが著作権をはじめとした権利などです。前にYoutubeを透かして再生できるアプリをリリースしようとしたのですが、Googleの有料プランを回避するものだとして、リリースするには「Googleに許可された書面を出せ」と言われて諦めたことがありました。

## ガイドラインに抵触しないか？
今回のように、特定の機能を利用するには、第３者機関と締結する必要があったりします。今回はなんとか締結いただけましたが、例えばアプリのジャンルによっては個人開発者はNGというものがあったりますので、一度読んでおいた方がいいとは思います。ただ、解釈が曖昧なこともあり、抵触しないと思っていても、指摘される可能性はあるので、開発途中でもメインができた状態で一度審査に出すほうがいいかもしれません。

## 技術的に実現できるか？
例えば、iOSの場合は通知やバックグランド処理が、純正アプリでは許可されていることが、サードパティーアプリには許可されていなかったりします。
今回とは少し話がズレますが、できると思っていたことができない場合があるので、このあたりはチェックした方がいいですし、それを回避する方法がNGになる可能性もあります。

# 苦労を水の泡にしないために
今までもガイドラインに抵触して、なくなく仕様を変更したりしたことがありました。

ただ、伝えたいのは「諦めないことも大事」ということです。

アプリ開発をしていると何かしらの困難に遭遇するので、提案する、交渉する、お願いするなどこちらから能動的なアクションをすることがで解決できる場合もあります。

ただ場合によって解決できず苦労が水の泡になってしまうので注意したほうがいいという思いで今回記事を書きました。


# 普段はアプリ開発について発信しています。
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">HackerMemoを大幅にアップデートしたので、<br><br>海外向けのPVを作ってみました😆<br><br>夜なべして頑張って作ったので、拡散頂けたら泣いて喜びます😭🙏<br><br>音有りがオススメです！<br><br>元ネタわかる人いるかな〜🤔<br><br>アプリはこちら🔽<br>■iPhoneの方<a href="https://t.co/6T10L94Ld1">https://t.co/6T10L94Ld1</a><br><br>■Androidの方<a href="https://t.co/uBevCXrNw2">https://t.co/uBevCXrNw2</a> <a href="https://t.co/wiGLv46kaG">pic.twitter.com/wiGLv46kaG</a></p>&mdash; YuKiO｜アプリ個人開発｜Flutter × Firebase (@oo_forward) <a href="https://twitter.com/oo_forward/status/1348103082769453056?ref_src=twsrc%5Etfw">January 10, 2021</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>