今週私たちは 32 年間出版を続けてきた記念日を祝うとともに、TidBITS の長年の友人 Eolake Stobblehouse の逝去を悼む。ほんの少しだけ嬉しいニュースとして、Apple が最新バージョンの Mail でようやく名前付きアンカーリンクが働くようにしてくれた。つまり、TidBITS の電子メール号で目次のリンクを使ったナビゲーションがようやくできるようになった。Josh Centers は今週号に技術的解決法を述べた記事を2つ書いた。フォーマッティングを伴わないプレーンテキストをペーストする方法の記事と、ログイン認証を管理するツールを 1Password からオープンソースの KeePass エコシステムへ移す方法の記事だ。今週注目すべき Mac アプリのリリースは Pixelmator Pro 2.4.2、Lightroom Classic 11.3、Bookends 14.0.7、Fantastical 3.6.4、iMovie 10.3.2、Tinderbox 9.2.1、それに Final Cut Pro 10.6.2, Compressor 4.6.1, Motion 5.6.1 だ。
TidBITS の初期の時代、Mac 内蔵のテキスト領域編集機能は 32 キロバイトのテキストに限定されていた。この制約は数多くのアプリやシステムに影響を及ぼした。例えば初期のバージョンの Eudora は一つの電子メールメッセージの中で 32K を超えるテキストを表示できなかった。(1995 年 4 月 3 日の記事“TidBITS & Eudora”参照。) 当然のことながら、1992 年 4 月 12 日にリリースされ最近 30 周年の記念日を迎えた由緒あるテキストエディタ BBEdit は最初からカスタムテキストエンジンを備えていて、32K の制約に影響を受けたことは一度もなかった。
このサイズの制限は、インターネットと AOL、AppleLink、CompuServe などの商用オンラインサービスの間でメッセージが行き来することを許す電子メールゲートウェイ (1992 年 10 月 19 日の記事“Gateways III/America Online”参照) にも束縛を与えた。長年にわたって、私たちも TidBITS の各号にサイズの上限を自ら定め、サイズが大き過ぎる結果として電子メールがバウンスしたり、途中で切れたり、あるいは表示されなくなったりといった事態が起こらないように努めた。
その後年月を経て 32K の制限は消滅したが、今週号が TidBITS の 32 周年の日にあたることもあって、これが私の頭の中にひょいと浮かび上がってきた。恣意的に付けられた制約によって生まれた注意点についてはやはり何か言っておかなければならない。印刷というものが生まれたその時代から、出版者たちはページという物理的な空間の中にテキストを収めるための編集作業をしてきた。そして、1990 年代初頭に至るまではずっと、デスクトップ出版には必ず、編集者たちが強力なコピーフィットのツールを駆使してフォントサイズ、レディング、カーニングその他を調整する作業が伴い続けた。でも、私たちはそのようなレイアウトの技を利用することはできなかった。TidBITS が電子メールのゲートウェイを通り抜けたり 32K 制限のあるアプリに表示されたりできるために、文字は文字でなければならなかった。そこで私たちは毎週のように、文字数カウントが十分小さくなったと Nisus が言ってくれるまで、文字を切り揃え文章の長さを縮める作業を繰り返した。
出版の前に TidBITS の号のサイズを切り詰めるために 1200 文字を割愛しなければならなかったのを懐かしく思う訳ではないが、上限があるお陰で何となく安心した感覚もあった。つまり、余白がないので何でもかんでもコメントを付け加える必要を感じなくて済むということだ。テクノロジーは現代の生活のほとんどあらゆる部分に浸透しているので、テクノロジー系の出版者としては、そこに登場するあらゆる話題に意見を表明したい気持ちに抵抗するのが難しい。時にはより広範な分野に進出した話題で記事を書くこともあるけれども、私にとって、そしておそらく皆さんにとっても、Apple の世界に注意を向け続けるのは重要なことだ。
32 年間出版を続けてきて、TidBITS がかつて自ら定めていた 32K の障壁を突破して進んでいることを思いつつ、今までもこれからも TidBITS が Apple に関係したテクノロジーニュース、レビュー、テクニックに焦点を当て続けて、面倒なタスクを簡単にしたり、良いコンピューティングの習慣を推奨したり、複雑な話題を解説したり、また今日のテクノロジーがいかに驚くべきものかを味わったりする探索を続けることを、読者の皆さんが今後も理解して受け止めて下さることを願いたい。
この節目の日に際して、これまで長年 TidBITS を支えて下さったすべての方々に、改めて感謝を申し上げたい。特に 3650 人の現行の TidBITS 会員の皆様に感謝しつつ、更新の時期が来ればどうぞ私たちの仕事へのご支援を続けて下さることを願っている。皆様からの自発的なお支えが、2011 年以来ずっと TidBITS を経済的に安定したものとしてきた。現代の出版トレンドは購読専用の電子メールニュースレターや購読者専用のウェブサイトを主流とする方向に向かっているが、TidBITS はこれからも、私たちがやって行ける限りはお金を出せない人たちにも読める形で出版して行きたい。TidBITS 会員プログラムに参加して下さった方はどのレベルであっても、長年のスポンサーである Smile の製品 TextExpander を含む 90 以上の Mac 用アプリの割引購入ができる。
討論に参加
今週は良い知らせ、悪い知らせの両方がある。明るい側では、Apple はようやく Mail が名前付きアンカー (named anchor) へのリンクを追えなくしていたバグを修正し、我々の目次リンクも再度クリック可能になった。しかしながら、悲しいことに、我々は TidBITS の揺るぎない友人の一人の死を悼まなければならない。彼は、出たばかりの iPad を TidBITS のスタッフ全員が記事に出来るようにしてくれた貢献者でもある。
名前付きアンカーがようやく Mail でも働くように
6年以上前になるが、私は、如何に Apple の Mail が HTML メールで名前付きアンカーを遵守しておらず、結果として毎号の TidBITS の最初にある目次をやり取りの出来ないプレーンテキストと同程度のものにしてしまっていることについて書いた ("El Capitan と iOS 9 での Mail、named anchor タグを無視" 5 January 2016 参照)。私は当時それはバグだと報告したが、Apple の技術者はそれの修正に優先順位を与えることは無かった - 昨年の何処かに至る迄は。私は Mail を使わないので、誰かが最近それに言及する迄気付かなかったが、macOS 12 Monterey 及び iOS 15 の Mail のバージョンは両方とも、メッセージの更に下の方にある名前付きアンカーへのリンクをクリック又はタップすると、正常に働く。素晴らしい! もし Mail では働かないという理由で各号の最初にある目次のリンクを使うのを避けるよう自らを馴らしてきたのであれば、再度試してみて欲しい。
Eolake Stobblehouse を偲ぶ
Mail のバグ修正にまつわる喜びを抑えるのは、TidBITS と Take Control Books の長年の友人であった Eolake Stobblehouse が先週 Manchester, England の自宅で急逝したという知らせである。
Eolake は、芸術家、写真家、そして作家で、真に思慮深くそして好奇心の旺盛な人で、常に何らかの個人の創造的表現に関わっていた。私はやがて知ることとなったのだが、彼の名前すらも彼自身の創造物であった - 2010 年に Take Control サイトにまつわるアカウント問題の障害探しをしている時、彼は言ってきた、"私がそのサイトに行った時、私は既に 'Frants Nielsen' と言う名前でログインしていたが、これは自分でも余りはっきり覚えていない人物だ。"
私は Eolake との間で Mac と Internet の話題について 1999 年以来やり取りをしてきたが、2010 年に、TidBITS スタッフ全員が初代 iPad を手に出来るようにと彼は $3000 を寄付してくれた。当時私は TidBITS スタッフに次の様に書いた:
_彼は、iPad がコンピュータの進化の中の一つの重要な一歩となると信じており、業界の中でも Mac について最も良い記事を書いてきた我々にそれを取り上げて欲しいと願っている。紐は何もついていない。_
Eolake につながる唯一の紐は、我々の広範囲に亘るメールによる会話である - Mac, iPad, Internet ビジネスモデル、健康、等々である。冥福を祈りたい。
討論に参加
皆さんはこんな問題を経験したことがありませんか:テキストをコピーし、それをワードプロセッサ、表計算、或いはスタイル付きテキストをサポートするアプリにペーストしたら、他のテキストとは違って見える。その違いはフォントの種類、フォントサイズ、或いは色にあるのかも知れない。ただそれが一旦そこに入ってしまうと、その後で追加する新しいテキストはそのフォーマットを受け継いでしまい、書くことや編集することに焦点を当てる代わりにフォーマットと格闘する羽目となってしまう。
デフォルトでは、テキストを多くの Mac アプリにペーストするとそれに付随していたスタイルも付いてくる。テキストスタイルを維持するのは望ましいことが多いが - とりわけ、一つの書類の中でテキストを複製したり、動かしたりする時には - 他のアプリから書類へコンテンツを持ち込もうとする時にはイライラのつのる時間の無駄であることが多い。その様な場面では、テキストだけをペーストし、スタイルはその周りのものに従うことが出来れば最善と言える。
この問題を解く方法は沢山ある。無料のものもあるし、他の目的のために既に持っているかもしれない商用のユーティリティを利用するものもある。もし皆さんの特定のワークフローの中でその内蔵の解が働かない場合は、代替策の一つに頼ることとなる。
内蔵の解:ペーストしてスタイルを合わせる
Apple は前からこの必要性を認識していて Edit メニューに一つのコマンドを置いた:Paste and Match Style (ペーストしてスタイルを合わせる) である。他の多くのアプリがこの Apple のコマンドの名前を模しているが、その変形も多々見られ、例を挙げれば、Paste and Match Formatting (Microsoft Word), Paste Text Only (Nisus Writer Pro), Paste without Formatting (Adobe InDesign), そして Paste Without Format (Affinity Publisher) 等がある。
ペーストの様な当たり前のものに対しては、キーボードショートカットが便利であるが、Apple のデフォルトは Command-Shift-Option-V である。それは多くのアプリで働くが、そのより簡易化された Command-Shift-V もまたしばしば使われる - 例を挙げると、Adobe InDesign, Nisus Writer Pro, そして Google Docs の Web インターフェースすらも含まれる。
大部分の状況においては、その内蔵のやり方で十分である。しかしながら、時折、ペーストする時スタイルを切り離す方法が無いように見える場面に遭遇することがある。どんな場面でも働く代替策がある。
手早いが余り格好は良くない:プレーンテキストエディターを通す
もし既に BBEdit の様なプレーンテキストエディターを使っているのであれば、望まないフォーマットを取り除く簡単な方法は、そのテキストを新しい書類にペーストし、全てを選択、再度コピーし、そしてそれを最終の目的地にペーストすることである。このやり方が働くのは、BBEdit や他の同様のアプリはテキストのスタイルには全く注意を払わないからである - それ等が気にするのは文字についてだけである。それは時たまの利用には重宝な回避策であるが、それは時間がかかりそして効率が悪い。
Monterey 用の Pure Paste
デフォルトでプレーンテキストをペーストするより滑らかで柔軟な方法として、Pure Paste がある。それはメニューバーに居住し、そしてデフォルトで、クリップボードからフォーマットを自動的に引き剥がす。またコピー毎にそれを解除することも出来るし、特定のアプリに対してペーストされたテキストを常にフォーマット付きとすることも出来る。他の選択肢では、HTML リンクをその URL から追跡パラメーターを取り除いて保存させてくれる。
Pure Paste は無料であり、広告も無く、個人情報も集めず、ネットワーク接続性も持たず、そしてパスワードマネジャーからコピーされたものは全て無視する。唯一の弱点は、macOS 12.3 Monterey かそれ以降を必要とすることである。
TextExpander
TextExpander は、省略形をタイプしそれをより長い単語や語句に拡張させてくれる。例えば、TextExpander
の代わりに xte
とタイプ出来る。そして、その主機能程には知られていないが、クリップボードにコピーされたテキストからフォーマットを剥ぎ取る機能も持っている。その機能のためだけに TextExpander を定期購読することはお勧めしないが、もう既にお持ちならば、クリップボードの内容をフォーマット無しでペーストするスニペットを作成出来る。手順は下記:
- File > New Snippet を選択。
- Content メニューが Plain Text に設定されていることを確認。
- 小さなキーボードアイコンから Clipboard を選び、その Clipboard トークンをスニペットに挿入する。
- Label フィールドで、"Paste Plain Text" の様な名前を付ける。
- Abbreviation フィールドで、そのペーストを呼び起こすためにタイプする省略形を入力する。
トリガーとなる省略形として、私は xpt
を使っている。何故ならば、私は全ての TextExpander ショートカットに対して "x" の接頭辞を使い、理解しやすくそして macOS でも iOS でもタイプし易いようにしているからである。
Keyboard Maestro
Mac 上での動作を自動化するために既に Keyboard Maestro を使っているのであれば、それもまたテキストをペーストする時にフォーマットを剥ぎ取る能力を提供する。Paste Plain Text マクロを作成するのには1分もあれば十分である:
- File > New Macro を選択。
- トップにある名前フィールドに "Paste Plain Text" と入力。
- New Trigger ボタンをクリック、Hot Key Trigger を選択、そしてCommand-Control-V (或いは、好きなもの何でも) を押す。
- New Action ボタンをクリック、Actions リストの中で "Filter" を検索、そしてそれをダブルクリックして自分のマクロに加える。
- Filter ポップアップメニューを System Clipboard に設定、そして To ポップアップメニューを Source に設定したままにして、With ポップアップメニューから Remove Styles を選択する。
- Actions リストに戻って、Paste アクションを検索し追加する。
それ以降、Command-Control-V を押す度に、Keyboard Maestro はクリップボード上にあるものをそれが何であれ見て、全てのスタイルをフィルターして取り除き、そして挿入点を含むテキストフィールドにそれが何であれペーストする。
文字の皮を剥ぐ方法は一つではない
私はこのリストがほぼ包括的だなどと言う積もりはない - プレーンテキストをペーストする方法は沢山ある。Glenn Fleishman は Tapbots からの Pastebot のファンである。また Mac App Store には Paste Plain Text メニューバーアプリがあるが、それはあなたのメールアドレスを求める。そして最後に、Microsoft Office を使う人は Paste Options ボタンがある事に気付くべきである。それは、ペーストした後で貼り付けるソースのフォーマットを保持したいか、貼り付ける先のフォーマットに合わせたいか、或いは単にプレーンテキストを貼り付けるか決定させてくれる。
他にお好みのプレーンテキスト貼り付けの解をお持ちなら、コメントで教えて欲しい。
討論に参加
私は長年パスワードマネージャを使ってきたが、そのスタートはオープンソースの KeePass を Windows で使い始めたところからで、20 年近く前のことであった。2000 年代後半になって Apple の世界に戻った私は、1Password の輝かしさの魅力に引き込まれた。これは Mac のためだけに作られており、まさにそのように見えた。KeePass の方はいつまで経っても粗削りなところが目立ったが、1Password は Mac と iPhone の双方とうまく統合されていた。(私が長年 1Password に忠実であったことは、2018 年 6 月 18 日の記事“Mac 用 1Password 7 が見栄えを一新... ただしアップグレード料金あり”をお読みになれば分かる。)
けれども、KeePass から離れたことを何となく悔やむ気持ちはいつもあった。これは暗号化されたデータベースを標準化された、オープンなフォーマットで保存する。初代の KeePass はずっと Windows 専用であったが、今はあらゆるプラットフォーム用にそれぞれ複数の KeePass 互換アプリがあって、自由に好きなものを選ぶことができる。KeePass では、自分のパスワードデータベースに完全なコントロールを維持しているという感覚を常に持っていられる。その点私は 1Password の独自仕様のデータベースフォーマットに対して少し落ち着かない気持ちにさせられたし、その後 AgileBits が 1Password ユーザーに対してパスワードを 1Password.com に保存するよう促すに至ってその気持ちは増した。それでも、摩擦の少なさを考えれば我慢できると私は思った。
残念なことに、1Password の開発者 AgileBits は Apple 中心の根本から離れようとしているように見える。登場予定の 1Password 8 は現在まだ早期アクセスの段階だが、このパスワードマネージャをクロスプラットフォームの開発フレームワーク Electron に移行させる。本質的に、Electron はウェブアプリをパッケージ化してネイティブな Mac アプリとして挙動させるもので、クロスプラットフォームの互換性のためには素晴らしいことだが、Mac のために設計されたアプリと同じ感触を与えることはまず滅多にない。Electron にはさまざまの批判が集まっており、それらの批判は正当なものだが、これがなければ Mac に移植され得なかったアプリが多くあることは事実だろう。
もう一つの注目すべき変更点として、1Password 8 ではパスワードのデータベースをローカルに保存することができなくなる。その代わりに 1Password.com を保存場所に使わなければならず、そのことに落ち着かない気持ちになる人たちもいる。私は今まで数年間 1Password.com を問題なく使ってきた (この会社は私に無料で購読を提供してくれた) が、やはり自分のパスワードデータベースは自分から直接手の届くところに置きたいと思う。
自分の重要なデータがたった一つのプロバイダの中に閉じ込められることを哲学的に好まないこと以外にも、私は 1Password でいろいろ頭痛の種に遭遇してきた。例えば、1Password ブラウザ拡張はパスワードの自動補完にずっと Command- ショートカットを使ってきたが、最近になってこのショートカットが Command-Shift-X に変更された。その理由は、あらゆるプラットフォームでの一貫性のためだ。一つの小さな実例に過ぎないが、AgileBits はクロスプラットフォームの互換性を優先して Mac 上に存在していたものを変更しようとしている。全体的に見て、デスクトップ版もモバイル版も、アプリがますますぎこちなくて動作の遅いものになってしまった。テクノロジーに疎い私の妻でさえ、1Password は以前ほどスムーズに動かなくなったと感想を漏らしたことがある。
それでも私は 1Password を素晴らしい製品だと思っているし、どんなパスワードマネージャであっても何もないよりはずっと良い。けれども私はしばらく前に 1Password から KeePass エコシステムに戻る決断をした。1Password が進もうとする方向に不満を感じたからというよりも、自分のデータがオープンなフォーマットで保存される方が好きだと思ったのが理由なのだが、AgileBits の最近の変更が、便利さとオープンさとを秤に掛けての決断がもう我慢できる限界を超えたという気持ちにさせたのだった。
また、私は自分のデータに対してもっとローカルなコントロールを維持していたいと思う。最近 iCloud の機能停止があったが、そのことが私にクラウドへの依存に対する不信感を抱かせた。最近になって私は Synology NAS と数個のハードドライブを購入して、自分のデータをもっとローカルに保存できるようにした。これについてはまた別の記事で書きたいと思うが、差し当たり今はここに私のパスワードを保存しているとだけ言っておこう。
だから、もしあなたが独自仕様の、クラウドベースのパスワードマネージャにうんざりしているなら、この記事を読み続けて頂きたい! でも、独自のやり方を選べば多くの権限を手にできる一方で、簡単になる訳でもなければ必ずしもセキュアになる訳でもないことは理解しておいて頂きたい。ソフトウェアに関する "支配権" については最近かなり議論されている。特に自分のデータに対しては巨大会社のクラウドを使わず自らの所有権とコントロールを確保したいという意見がよく聞かれる。けれども Apple や Google のようなテクノロジー会社が巨大になったのにはそれだけの理由がある。コントロールにはコストが伴うからだ。Spider-Man も「大きな力には大きな責任も伴う」と言っているではないか。
もしあなたが自分のデータに完全なコントロールを望み、しかもそれをセキュアに維持できるだけの時間と技能を持っているのならば、KeePass が良い選択肢となるかもしれない。もしも私が以下で説明することがあまりに面倒だと思えて、それでもオープンソースのソリューションが欲しいならば、Bitwarden を検討してみるとよい。こちらはクラウドサービスとセルフホストのオプションとの両方を提供している。(ただしセルフホストのオプションをセットアップするにはとてつもない苦痛が伴う。) 私も試してみたが、1Password ヴォールトをうまく読み込むことができなかった。
KeePass の得失を理解する
1Password や LastPass のようなクラウドベースのパスワードマネージャの大きなセールスポイントは、便利さだ。パスワードのデータベースをセキュアに保ったり、同期したり、バックアップしたりといったことを心配せずに済むし、このやり方を選んでいけないことは何もない。自分の手でする場合よりもデータ喪失のリスクははるかに少ないし、同期の設定や維持はずっと簡単で、システム管理やセキュリティの維持に頭を悩ます必要もない。
KeePass を使う場合、クラウドサービスはない。オープンな KDBX フォーマットの暗号化されたデータベースが与えられ、それを自分の選んだ場所に保存する。自分の Mac でも、NAS (ネットワーク接続ストレージ) 上でも、あるいは Dropbox、Google Drive、iCloud などのクラウドサービスを選んでも構わない。Mac とモバイルデバイスの間でパスワードデータベースを直接同期することは可能だけれども、かなり面倒だ。NAS やクラウドサービスを使えばいろいろなプラットフォームやデバイスの間でパスワードを滑らかに同期する役に立つ。また、何かがおかしくなった場合に備えてそのファイルをバックアップしたり履歴を維持したりするのもすべて自分の責任でしなければならない。
オープンなアプローチをしている結果として、さまざまなプラットフォーム上に数多くの KeePass 互換なアプリがあってその中から選んで使うことができる。私が最近使ったものを挙げれば:
選択肢があまりにも多過ぎて困ると思う人たちは多いが、私はいろいろなやり方を試しながら大いに楽しめている。私の KeePass データベースを複数のアプリに共有させているけれども、そのことで問題が起きたことはない。
どのアプリを選ぶにしても、その開発者を完全に信用できるということがまず前提となる。悪意のあるアプリが KeePass 互換アプリを装って裏でこっそりあなたのパスワードを盗むというのも考えられないことではない。KeePass のコードに変更を加えてアドウェアを注入するサイトの事例が少なくとも一つあったが、パスワードが攻撃されたという事例は聞いたことがない。(これはまさにオープンなプラットフォームと閉じたプラットフォームとのトレードオフの一部だ。2022 年 4 月 8 日の記事“Apple の App Store の頑固さこそ iOS 最大のセキュリティ脆弱性か”参照。)
1Password から KeePass へ移行する
1Password から KeePass へどうやって乗り換えるかを見極めるのにしばらく時間が掛かった。私はパスワードだけでなく、二要素認証の TOTP コードも 1Password で維持していたし、KeePass がそれをどうやって処理するのか知らなかったからだ。ありがたいことに、結局は何の問題もないことが分かった。
iOS 用 KeePassium アプリの開発者が移行のための素晴らしい説明書を書いていて、1Password のヴォールトをローカルに書き出してからデスクトップ上の KeePassXC に読み込む手順を説明している。(KeePassium は Mac 用には出されていない。) その際の主な制約は 1Password が添付ファイルを書き出さないことで、あとで個々の添付ファイルを手作業で KeePassXC の適切な項目に追加してやらなければならない。この KeePassium の手法は長々しく見えるかもしれないが、実際にやってみるとほんの数分で完了し、私は移行を済ませることができた。
Mac と iOS の両方でもっと一貫した KeePass ソリューションが欲しい人には、Strongbox が macOS と iOS 双方にアプリを出している。こちらの移行手順は KeePassium のものより単純だが、Strongbox の説明書には一つ大きな手抜かりがある。1Password のオンラインデータベースから書き出すことはできないので、まず KeePassium の説明書に従って 1Password のデータベースをローカルなヴォールトに転送し、その後でそのローカルなヴォールトから書き出せばよい。
私は双方のやり方を試してみたが、いずれもうまく行って、私の TOTP コードも失われなかった。実際 Strongbox の読み込みの方が少し優れていて、私のお気に入り項目も維持してくれた。けれども私は既に 1Password ヴォールトを KeePass に移してそこにいくつか変更を施していたので、書き出しをもう一度やり直す意味はなかった。それに、今はもう Mac 上で Strongbox を使っていない。その理由はあとで説明する。
デバイス間で KeePass を同期する
Mac 上の 1Password から書き出すのは簡単だが、そのデータベースを iPhone やその他のデバイスに持ち込んだり、その後もデータベースが同期された状態に保ったりするにはどうすれば良いのだろうか? 簡単な答はクラウドサービスを使うことで、ほとんどの人はそうしているだろう。けれども私は自分のパスワードを自分のローカルネットワーク上にある自分自身のハードウェアに保存しておきたいと思った。
Apple は現在 macOS 用の標準のファイル共有プロトコルとして SMB を使っており、iOS の Files アプリから SMB サーバにアクセスすることもできる。けれども残念ながらサーバに接続した状態でなければ Files アプリから SMB サーバ上のパスワードデータベースファイルにアクセスすることはできない (オフラインキャッシングはない) ので、ローカルネットワーク上にいなければ役に立たない。私は自分の Synology への VPN 接続があるのでそれを遠隔で使うことはできるのだが、外出中に自分のパスワードにアクセスするだけのために毎回 VPN を使わなければならないのは嫌だった。
私は Synology Drive も試してみた。こちらは Dropbox や Google Drive と似たものだが自分で設けた Synology NAS 上でホストされている。Synology Drive は iOS 用に2つのアプリを出しており、いずれも Files アプリと統合されているけれども、残念ながら KeePass 互換な iOS アプリのために使ってみると問題が起こった。
ローカルな同期方法として最も信頼できるのは昔ながらの WebDAV サーバだと分かった。(Apple の iDrive の時代にも WebDAV があったのを覚えておられるだろうか。) ありがたいことに、Synology ではほんのいくつかクリックするだけで簡単に WebDAV サーバをセットアップできる。iOS 用の Strongbox アプリはサードパーティのアプリを必要とせずに WebDAV サーバに接続できるので私はこれを iPhone で使っているが、新たな厄介事もなしにうまく同期された状態を保てている。外出中に Strongbox 上でデータベースに変更を加えることさえやってみたが、帰宅してみるとちゃんと同期されていた。いずれ妻にも 1Password から移行させようと思っているが、その際には妻のためにも Strongbox をセットアップするつもりだ。
私が気に入っている KeePass 互換アプリ
結局私は Mac 上で KeePassXC を使い、iPhone 上で Strongbox を使うようになった。どちらのアプリもオープンソースだ。KeePass の素晴らしさは、自分がいいと思うようにいろいろのアプリを組み合わせて使えるところにある。
iPhone 上で Strongbox を使っているのは WebDAV 対応を内蔵しているからだが、これはもともと非常にパワフルなアプリだ。自動補完、Face ID、セキュリティ監査、パスワード生成、その他パスワードアプリに期待される現代的機能がすべて揃っている。
Strongbox には独自の技もいくつかある。Face ID に加えて、認証用に二次的な PIN を設定することもできる。さらに "脅迫 PIN" というものもあって、これは誰かにパスワードへのアクセスを強要された場合に入力すべき二次的 PIN だ。脅迫 PIN がダミーのパスワードデータベースまたは偽物のエラーを表示したり、あるいはデータベースのローカルなコピーをワイプ消去するように設定することさえできる。
アプリのアイコンを変更して Strongbox が別の種類のアプリ、例えば計算機であるかのように偽装することさえできる。アプリの名前が Strongbox となったままなのでそれがどの程度効果的なのか知らないが、目新しいことは確かだ。
Strongbox の最良の諸機能を使うには年額 $15 ほどの購読が必要だが、この高品質のオープンソースアプリを私は喜んで支援したい。
macOS 用の Strongbox もうまくデザインされたインターフェイスを使っていて Mac ネイティブな感じがする。1Password や、他のどの独自仕様のパスワードマネージャと比較しても引けを取らない。また、Mac App Store のみを通じて配布されているので、正式に Apple に承認されている。けれども残念ながら、Strongbox の macOS ネイティブなデスクトップ版はエレガントに作られているのに、ウェブブラウザ用の拡張が含まれていない。Strongbox はその代わりに Mac 内蔵の自動補完機能を使うように勧めているけれども、それが使えるのは Safari の中のみで、私のお気に入りの Brave では使えない。
その点への回避策はいくつかある。例えば Google Chrome やその他のブラウザ向けに出ている独立動作の KeePass 互換な拡張 を使うこともできる。私が現在デスクトップで使っているのは KeePassXC で、見た目は美しくもなく取り立てて Mac 風とも言えないが、こちらはブラウザ拡張を提供している。それにこれは信じられないほど高速かつ軽量だ。批判したいところもあるが、忘れていけないのは KeePassXC が完全に無料でボランティアによって管理されていることだ。
それまで私は 1Password 7 の動作が遅いと思ったことはなかったが、KeePassXC の速さを体験して考えが変わった。 欠点を言えば、KeePassXC は他のパスワードマネージャに大抵あるいくつかの機能を欠いている。とりわけ、1Password のようなセキュリティ監査機能がないし、ログインをお気に入りに指定したいと思っても手で作ったフォルダに項目を保存するくらいしか方法がない。
KeePassXC のブラウザ拡張はうまく動作するけれども、1Password の拡張ほどうまく統合されている訳ではない。ブラウザ拡張をインストールした後で、それを使いたい個々のブラウザでそれぞれ有効化してやらなければならない。当初、私は Brave だけを選択した状態でこれを動作させることができなかったが、その後 Chrome と Chromium (Brave はこれに基づいている) も合わせて選択することで動作させることができた。また、個々のサイトで承諾プロンプトをクリックして自動補完を認めてやる必要もある。確かにセキュリティの観点からは頷けるけれども、やはり煩わしい。加えて、ユーザ名とパスワードを別のページに入力させるウェブサイトのためのオプションも選択しなければならないが、これについては大抵の場合ブラウザ内のプロンプトが出る。
ブラウザとの統合が必要なことは別にしても、KeePassXC ブラウザ拡張は到底完璧とは言えない。これは KeePassXC デスクトップアプリとの接続に依存して動作するが、時々その接続が中断されることがあって、手で再接続してやらなければならない。(私の体験では、この問題はクラウドサービスでなくローカルなアプリに接続するどんな拡張にも起こり得る。1Password でも似たような問題を経験したことがある。)
それでも大抵の場合、何の問題もなく働いており、私がパスワードマネージャのブラウザ拡張に最も望むことをちゃんと満たしてくれる。私が新しいパスワードを追加したりパスワードを変更したりすればそれと認識して、データベースのアップデートを申し出てくれる。
データ支配権は万人向けのものではない
こうやって説明してきたが、もしも私が洗練された、完璧に機能するアプリを打ち捨てて、継ぎ接ぎだらけの寄せ集めのソリューションを選んだという印象をお持ちなら、確かに私はその通りのことをしてきた。けれども厄介なことを済ませた今は、かなりうまく使えている。1Password から乗り換えた後に Mac と iPhone の双方でいくつかのパスワードを作成したり変更したりしているけれども、データの破損や喪失は一切経験していない。
これだけのことを済ませた結果の良い面は、今や私が自分のパスワードデータベースに完全なコントロールを持っていることだ。データベースは Synology Drive に保存されており、履歴を保持するとともに Mac 上のローカルなコピーと同期されている。その Mac 上ではさらに Time Machine も履歴を保存している。加えて、Synology NAS が遠隔には IDrive (これは Apple のその昔のクラウドストレージ機能とは全く無関係だ) の上に、ローカルには 14 TB 外付けドライブに、それぞれバックアップしていて、そちらにも履歴が保存されているので、私のパスワードデータベースは十分に安全だ。
セットアップするにはある程度の手間が掛かったが、私にとって自分のパスワードデータベースへの支配権が得られたことで十分にその価値があった。今ではまさにここわが家の中にデータベースがあって、暗号化された複数個のバックアップがわが家の中にもオフサイトにも置いてある。だから、クラウドサービスが一時的にオフラインになったり、あるいは倒産したりという事態を心配する必要が一切ない。
だから、もしあなたも 1Password が向かう方向性に不満を覚えたり、あるいはデータをもっとコントロールしたいという気持ちがあったりするならば、KeePass とそのオープンソースの仲間たちを調べてみてはいかがだろうか。
討論に参加