Open9

自作メモアプリのためのストレージ検討

TPTP

自作メモアプリでメモや画像の複数デバイス間の共有を行いたい。

要件↓

  1. プライベートなメモを他の人が見られないストレージに配置できる(アプリ制作者である自分からも見えないようにできるのがベスト)
  2. ほぼリアルタイムで他のデバイスに最新の変更が同期される。同期は10秒くらいの遅延を許容できる
  3. データベースを管理しなくてよい
  4. ローカルのみでも動作し、再びインターネットに繋がったときにローカルの変更をリモートに反映してくれる
  5. 全データに対してキーワード検索をかけたい

これらの要件を考えていくと、1.に対応しているサービスが結構少ない。firestoreやAWSは管理者がデータベースの内容を見られるので適していない。

3つ選択肢を思いついた。

  1. iCloudなどの個人用ストレージサービスを使う。(Bear notesが採用している。)
  2. あらかじめローカルで本人しか知り得ない暗号鍵で暗号化しておく。「本人しか知り得ない暗号鍵」は、ログインパスワードそのものを使ったりする場合があるようだ(InkDropがこの方法を採用している)。
  3. サーバーも各ユーザーで立ててもらう(InkDropがオプションとしてこの方法に対応している)。

2はユーザーがパスワードを忘れた際の復旧が不可能なので、リスクが高くできればやりたくない方法だ。3はオプションとしてはいいが、それだけだとリテラシーの高いユーザーにしか使ってもらえなくなる。
できれば1のような方法でメモを同期させたい。

TPTP

https://qiita.com/roll1226/items/dc79b4bf1044167ea6d4

機種変更、それもiPhoneからAndroid・AndroidからiPhoneのようにマルチデバイス対応でもプラットフォーマーを超えるパスキー共有は不可能なため、再度パスキーの登録が必要

プラットフォームを跨げないらしい