開発

そのツールに貼った内容、どこに送られている? 情報漏洩が気になって、ブラウザだけで動くツール集を作った

約7分で読めます

私は、無料のWebツール集「YAKARON Tools」を作っています。今は、開発に使うツールから、釣りや暮らしのツールまで、30を超えるツールがあります。

この記事では、なぜ作り始めたのかを書きます。

きっかけは、情報漏洩のニュース

情報漏洩のニュースを目にすることが増えてきたころ、ふと不安になりました。

ふだん何気なく使っている、ネット上の便利なツール。JSONを整形したり、文字をエンコードしたり、パスワードを作ったり。そこに貼り付けた内容は、本当にサーバーに保存されていないのだろうか?

もちろん、多くのツールサイトは「入力した内容はサーバーに送りません」とうたっていますし、実際にそうなのだと思います。ただ、使う側からは、それを確かめようがありません。仕事のデータや、外に出してはいけない文字列を貼り付けるときほど、気になってしまいました。

だったら、入力した内容をどこにも送らないツールを、自分で作ればいい。 自分で作ったものなら、中で何をしているかが分かります。そう思ったのが始まりです。

最初に作ったのは、開発のツール

最初に作ったのは、自分が仕事でよく使う、開発のためのツールです。

  • JSONの整形・圧縮・検証
  • Base64やURLのエンコード・デコード
  • JWT(ログインなどに使う文字列)の中身の確認
  • パスワードの生成
  • ハッシュ値の計算
  • 正規表現のテスト、テキストの差分(diff)など

どれも、計算はすべてブラウザの中で行い、入力した内容をサーバーに送りません。自分が安心して使えるものを作りたかったので、ここは最初から決めていました。

やってみたら面白くて、釣りのツールへ

作ってみると、これが面白かったんです。

それなら、趣味の釣りでも作ってみようと思いました。そうしてできたのが、糸を何m巻けるか、下巻きがどれだけ要るかの目安を計算するツールや、釣った魚の写真を魚拓風のポスターにするツールです。

そこから、家のお手伝いを記録するスタンプ帳や、沖縄の旧暦の行事カレンダーなど、暮らしのツールにも広がっていきました。

サーバーで動くプログラムも持たない

もう1つ、最初から決めていたことがあります。サーバーの側で動くプログラムを持たないことです。

サーバーで動くプログラムやその部品には、弱点(脆弱性)が次々と見つかります。見つかるたびに更新して、管理し続けるのは面倒ですし、更新が遅れればそこを狙われます。

YAKARON Toolsは、サーバーにはできあがったページのファイルを置いているだけの、静的なサイトです。入力を受け取って保存するデータベースもありません。利用者が入力した内容を受け取って保存する仕組みを、そもそも持たない作りにしています。

このブログも、同じ理由でWordPressをやめて静的なサイトに移しました。

作っていて楽しいこと

自分が必要なものを、自分で作れる

いちばんの楽しさは、自分が欲しいものを、自分で作れることです。下巻きの量が知りたい、旧暦の行事の日を先に知りたい。困ったときに、その場で解決するものを作れます。

「こういうのがあったら便利かな」と想像する

自分が困ったことだけでなく、こういうのがあったら便利かなと想像して作るのも楽しいです。使う人の場面を思い浮かべながら、何があればうれしいかを考えます。

ブラウザだけで完結できるかを考える

もう1つ面白いのが、ブラウザだけで完結できるかを考えることです。

たとえば、魚拓のツールでは、写真から魚を自動で切り抜きます。こういう処理は、写真をサーバーに送って処理するのが手っ取り早いのですが、それでは最初の目的から外れてしまいます。切り抜きのプログラムをブラウザに読み込んで、写真は送らずに、ブラウザの中で切り抜くようにしました。

できることを、どこまでブラウザの中だけでやれるか。パズルのようで、考えていて楽しいところです。

入力を覚えておくツールは、ブラウザの中に保存

お手伝いのスタンプ帳のように、記録を次の日も使いたいツールもあります。サーバーに送らないなら、どこに覚えておくのか。

答えは、あなたのブラウザの中です。ブラウザには、サイトごとに小さなデータを保存しておく場所(localStorage)があり、記録はそこにだけ保存します。サーバーには送りません。

そのぶん、気をつけてほしいこともあります。

  • ほかの端末とは共有できません。 スマホで付けた記録は、パソコンからは見えません。スタンプ帳なら、リビングのタブレットなど、家族で1台を使うのがおすすめです。
  • ブラウザのデータを消すと、記録も消えます。 スタンプ帳には「記録をファイルに書き出す」ボタンがあるので、ときどき保存しておくと安心です。端末を替えるときも、このファイルで移せます。
  • ルーレットや家紋ジェネレーターのように、次も使えるように入力を覚えておくツールは、最後に使ってから30日で消えるようにしています。

どのツールが何を保存しているかは、プライバシーポリシーに一覧を載せています。

心配なら、ネットを切って試してみてください

「送っていない」と言われても、本当かどうかは分かりませんよね。そこで、自分の手で確かめる方法があります。

  1. 使いたいツールのページを開く
  2. ページが開いたら、ネットを切る(スマホなら機内モード、パソコンならWi-Fiをオフにするか、LANケーブルを抜く)
  3. そのまま、文字を入れたり、ボタンを押したりして使ってみる

ネットにつながっていなくても結果が出れば、少なくとも、その計算にサーバーは使っていない、ということが分かります。そのうえでYAKARON Toolsは、入力した内容をあとからサーバーに送るようなプログラムも入れていません(プライバシーポリシーにも書いています)。

この確かめ方は、ほかのツールサイトでも使えます。気になるサイトがあれば、試してみてください。

実際に、JSONの整形、ハッシュ値の計算、パスワードの生成、糸巻き量の計算で、ネットを切った状態でも結果が出ることを確かめました。

※魚拓ツールの自動の切り抜きは、初めて「自動で切り抜く」を押したときに、切り抜きのAI(約15MB)を読み込みます。読み込むのはAIのモデルと、それを動かすためのファイルだけで、写真は送っていません。一度読み込んでしまえば、ページを開いたままネットを切っても切り抜けることを確かめました。

正直に書いておくこと

無料で続けるために、YAKARON Toolsには広告(Googleアドセンス)とアクセス解析(Googleアナリティクス)を入れています。そのため、ページを開いたことや閲覧の情報は、Googleに送られます。

ただ、ツールに入力した文字や写真そのものは、広告や解析には渡していません。

ツールのページの下にある「役に立った」ボタンも、同じ考え方です。押されたこと(「役に立った」か「改善してほしい」か)だけをGoogleアナリティクスに送って数えていて、自分のサーバーには送っていません。入力した内容も含みません。同じページで何度も押せないように、押したことはあなたのブラウザの中にだけ保存し、30日たつと消えます。

詳しくは、YAKARON Toolsのプライバシーポリシーに書いています。

これから

次に何を作るかは、模索中です。自分が困ったことや、あったら便利そうなことを見つけたら、また作っていきます。

「こんなツールがあったらいいのに」というものがあれば、YAKARON Toolsのお問い合わせフォームから、ぜひ教えてください。

コメント

コメントを送る
運営者が確認してから掲載します(数日かかることがあります)。

YAKARON ToolsFREE WEB TOOLS釣り・子育て・暮らしに使える無料のWebツール集 →