🔑

親のパスワード管理問題を解決する「パスワード用紙」を作った

に公開
2025/12/19

こんなかんじだよ

背景:パスワードノートの課題

親世代のパスワード管理、どうしていますか?

パスワードマネージャーを勧めても「難しそう」と敬遠されたり、パスワードマネージャのパスワードに悩んだり。
結局パスワードノートに手書きで管理している方も多いのではないでしょうか。

パスワードノートには以下の課題があります:

  • 複雑なパスワードを自分で考えるのが難しい: 結局「名前+誕生日」のような推測されやすいパスワードになりがち
  • 手書きするときにミスする: 「l」と「1」、「O」と「0」などを書き間違えたり、読み間違えたり

パスワードノートは家に置いてあり、パスワードノートの盗難に遭う考慮は今回の対象外とします。

解決策:パスワード用紙

そこで作ったのが「パスワード用紙」です。

A4用紙にランダムな文字がグリッド状に印刷されており、必要な部分をハサミで切り取ってパスワードノートに貼り付けて使います。

特徴

  • 各文字が四角で囲まれている - ハサミで切りやすい
  • 誤読しやすい文字を除外 - l, 1, I, O, 0, o は含まれない
  • 大文字・小文字・数字をバランスよく配置 - 40:40:20 の比率

使い方

  1. PDFを印刷する
  2. 必要な文字数分、連続した文字をハサミで切り取る
  3. パスワードノートに貼り付ける

例えば「8文字のパスワードが必要」なら、横に8マス分切り取るだけ。
また、4文字ずつ切っておき、16文字のパスワードをその中かから選ぶ、という使い方もできます。

技術的な話

ローカルで実行

Python 3.10以上とuvがあれば、以下のコマンドで実行できます:

uv run main.py

password_sheet.pdfが生成されます。

Webサービスとして公開

Vercelにデプロイしてあるので、以下のURLからすぐにPDFをダウンロードできます:

https://password-paper.vercel.app/

セキュリティについて

「ランダム性は大丈夫?」という疑問があるかもしれません。

このスクリプトではsecretsモジュールを使用しています。これはOSの暗号学的乱数生成器(/dev/urandomなど)を使用するため、パスワード生成に適した十分なランダム性があります。

また、PDFを生成するたびに異なる文字が出力されるため、同じ用紙を共有することはありません。

ソースコード

GitHubで公開しています:

https://github.com/kangaechu/password-paper

まとめ

パスワード管理は難しい問題ですが、「紙に書く」という親世代に馴染みのある方法を少しだけ改善することで、セキュリティを高めることができます。

パスワード用紙が、パスワードノートを使っている方の助けになれば幸いです。

Discussion