自分の好きな写真を、美術館のように飾って眺められたら楽しいのではないか。そう思いついて、作れるかどうか相談してみました。

返ってきた最初の答えは「作れます」ではなく、問題点が3つあります、でした。

止められた3つの理由

  1. 人の顔などから特定の個人を識別できる写真は、個人情報に当たることがあります
  2. 「他の人にも見せる」のなら、誰に見せるのかで作りが変わります
  3. 写真をどこに置くのかも、いまの構成の外です

正直に言うと、面食らいました。こちらとしては「写真を並べて飾るだけ」のつもりだったからです。

けれど、言われてみればそのとおりでした。写真には、写っている人の顔があります。写真によっては、撮影日時や位置情報などが記録されていることもあります。それを運営者のサーバーに置くというのは、思いつきで始めてよい種類のことではありません。

個人でアプリを作っていると、この壁には何度もぶつかります。作りたいものを思いついた時点では、たいてい自分の都合しか見えていないからです。

「預からない」という逃げ道

そこで出てきた案が、写真を預からないという作りでした。

飾った写真は、見ている人の端末の中にだけ保存する。こちらのサーバーには送らない。そうすれば、そもそも運営者が写真を預からないため、運営者のサーバーから写真が漏れるリスクを減らせます。ただし、端末や書き出したバックアップファイルの管理は、利用する人自身に必要です。

この方針で作ったのが「Expand the Museum」です。実際にどうなっているか、公開前に中身を確かめました。

  • 写真は、ブラウザの中の保管庫(IndexedDB)に入ります
  • 設定や進み具合は、同じくブラウザの中(ローカルストレージ)に入ります
  • 保存の前に、端末の中で画像を描き直し、元写真の位置情報や機種情報を取り除いています
  • 2026年9月28日に確認した現在のコードでは、選んだ写真を運営者のサーバーへアップロードする処理はありません

言い換えると、アプリが、飾った写真を運営者のサーバーへ自動で送ることはありません。 こちらからも見えません。なお、「書き出し」で作るバックアップファイルには写真が含まれるため、ファイルは大切に扱う必要があります。逆に、ブラウザの保存データを消せば、飾った写真も一緒に消えます。他の端末へ自動では同期されませんが、写真を含むバックアップを書き出し、別の端末で読み込むことはできます。便利さと引き換えに選んだ形です。

思っていたのとは、少し違った

できあがったものは、頭の中にあった絵とはだいぶ違いました。人物の見た目も、当初の想像とはずいぶん変わっています。このあたりは、頼み方の工夫が足りなかったのだと思います。

それでも、写真を選んで額縁に入れ、並べて眺める、というところまでは形になりました。

Expand the Museum を開く

作る前に決めておくと、あとが楽

今回いちばんの収穫は、アプリそのものより、順番でした。

作り始めてから「これは個人情報では」と気づくと、作り直しになります。思いついた時点で、預かるものと預からないもので分けておく。 端末の中に置くものにも、端末やブラウザ、バックアップの管理は要ります。それでも、預からずに済むなら預からない。そう決めておけば、運営者が管理しなければならない情報とリスクを減らせます。

これは仕事の道具でも、防災の備えでも同じかもしれません。持たずに済むものを持たないのが、いちばん管理が楽です。


出典・注記

  • ※ この記事は、運営者(Tchan)が自分でアプリを作ったときの記録です。特定の作り方を推奨するものではありません。
  • ※ 2026年9月28日に確認した現在のコードでは、利用者が選んだ写真を運営者のサーバーへアップロードする処理はありません。写真は端末内で描き直され、IndexedDBに保存されます。設定・進捗はローカルストレージに保存されます。今後アプリを更新した際は、この記述も見直します。