自分の好きな写真を、美術館のように飾って眺められたら楽しいのではないか。そう思いついて、作れるかどうか相談してみました。
返ってきた最初の答えは「作れます」ではなく、問題点が3つあります、でした。
止められた3つの理由
- 人の顔などから特定の個人を識別できる写真は、個人情報に当たることがあります
- 「他の人にも見せる」のなら、誰に見せるのかで作りが変わります
- 写真をどこに置くのかも、いまの構成の外です
正直に言うと、面食らいました。こちらとしては「写真を並べて飾るだけ」のつもりだったからです。
けれど、言われてみればそのとおりでした。写真には、写っている人の顔があります。写真によっては、撮影日時や位置情報などが記録されていることもあります。それを運営者のサーバーに置くというのは、思いつきで始めてよい種類のことではありません。
個人でアプリを作っていると、この壁には何度もぶつかります。作りたいものを思いついた時点では、たいてい自分の都合しか見えていないからです。
「預からない」という逃げ道
そこで出てきた案が、写真を預からないという作りでした。
飾った写真は、見ている人の端末の中にだけ保存する。こちらのサーバーには送らない。そうすれば、そもそも運営者が写真を預からないため、運営者のサーバーから写真が漏れるリスクを減らせます。ただし、端末や書き出したバックアップファイルの管理は、利用する人自身に必要です。
この方針で作ったのが「Expand the Museum」です。実際にどうなっているか、公開前に中身を確かめました。
- 写真は、ブラウザの中の保管庫(IndexedDB)に入ります
- 設定や進み具合は、同じくブラウザの中(ローカルストレージ)に入ります
- 保存の前に、端末の中で画像を描き直し、元写真の位置情報や機種情報を取り除いています
- 2026年9月28日に確認した現在のコードでは、選んだ写真を運営者のサーバーへアップロードする処理はありません
言い換えると、アプリが、飾った写真を運営者のサーバーへ自動で送ることはありません。 こちらからも見えません。なお、「書き出し」で作るバックアップファイルには写真が含まれるため、ファイルは大切に扱う必要があります。逆に、ブラウザの保存データを消せば、飾った写真も一緒に消えます。他の端末へ自動では同期されませんが、写真を含むバックアップを書き出し、別の端末で読み込むことはできます。便利さと引き換えに選んだ形です。
思っていたのとは、少し違った
できあがったものは、頭の中にあった絵とはだいぶ違いました。人物の見た目も、当初の想像とはずいぶん変わっています。このあたりは、頼み方の工夫が足りなかったのだと思います。
それでも、写真を選んで額縁に入れ、並べて眺める、というところまでは形になりました。
作る前に決めておくと、あとが楽
今回いちばんの収穫は、アプリそのものより、順番でした。
作り始めてから「これは個人情報では」と気づくと、作り直しになります。思いついた時点で、預かるものと預からないもので分けておく。 端末の中に置くものにも、端末やブラウザ、バックアップの管理は要ります。それでも、預からずに済むなら預からない。そう決めておけば、運営者が管理しなければならない情報とリスクを減らせます。
これは仕事の道具でも、防災の備えでも同じかもしれません。持たずに済むものを持たないのが、いちばん管理が楽です。
出典・注記
- ※ この記事は、運営者(Tchan)が自分でアプリを作ったときの記録です。特定の作り方を推奨するものではありません。
- ※ 2026年9月28日に確認した現在のコードでは、利用者が選んだ写真を運営者のサーバーへアップロードする処理はありません。写真は端末内で描き直され、IndexedDBに保存されます。設定・進捗はローカルストレージに保存されます。今後アプリを更新した際は、この記述も見直します。