QRコードの読み取りとインターネットをめぐる意外な事実

QRコードを読み取るとき、その仕組みは単純だと思っているのではないでしょうか。カメラが模様を読み、アプリが解読し、結果が表示される。インターネットは不要で、必要なのは光学と数学だけ、と。

QRコードの解読そのものについては、その認識は技術的に正しいものです。QRコードは自己完結型のデータ形式であり、すべての情報が白黒の正方形の格子の中に符号化されています。スキャナーがQRコードを解読するために、どこかのサーバーに接続する必要はまったくありません。

しかし現実はこうです。無料のQRスキャナーアプリの多くは、それでもインターネット接続を行っています。コードを読み取るたびに、しかも複数のサーバーへ複数の接続を行うことも珍しくありません。そしてその接続はあなたのためではなく、アプリの広告・解析システムのためのものです。これらのシステムは、あなたとあなたの行動に関するデータが絶えず流れ込むことで初めて機能します。

この記事では、なぜQRコードの読み取りにインターネットが不要なのか、それでもアプリがインターネットを使うと何が起きるのか、そしてオフライン優先のスキャナーを選ぶことがスマートフォン上で下せる最も賢いプライバシー上の判断のひとつである理由を、順を追って解き明かします。

QRコードの解読が完全にローカルで完結する理由

QRは「Quick Response code(クイックレスポンスコード)」の略です。1994年、日本の自動車部品メーカーであるデンソーウェーブが、組み立て工程で部品を追跡するために考案しました。その符号化方式は完全に自己完結しており、カメラ画像さえあれば、ソフトウェアは数学的な計算だけで内容を解読できます。ネットワーク照会は一切必要ありません。

QRの規格(ISO/IEC 18004)は、情報が格子の中にどう符号化されるかを厳密に定めています。この規格を実装したアプリであれば、規格に準拠したQRコードを完全にオフラインで解読できます。必要なのは次のものだけです。

  • 画像を取り込むためのカメラへのアクセス
  • 模様を処理して解読するためのCPU時間
  • それ以外には何もない

だからこそQRコードは、飛行機の中でも、地下室でも、携帯電波の届かない辺境でも、そのほかあなたがどこにいても機能します。コード自体がデータを持っているのです。読み取るためのサーバーは必要ありません。

多くのQRスキャナーアプリが実際にしていること

解読が完全にローカルで済むのなら、なぜこれほど多くのスキャナーアプリがインターネット権限を求めるのでしょうか。答えは無料アプリの経済構造にあります。アプリストアにあるQRスキャナーの大半は広告で収益を得ています。広告を配信するにはインターネット接続が必要です。しかしその接続は、同時に次のような活動も可能にします。

読み取った内容を外部サーバーへ送信する — 多くのスキャナーアプリは、あなたが読み取ったURLやテキストなどのデータを記録し、外部サーバーへ送信します。医療機関、行政機関、民間の店舗などでQRコードを読み取っているなら、それらのURLはあなたの行動について実に多くを語ってしまいます。

広告を配信する — 広告ネットワークが広告を取得して表示するには、生きたインターネット接続が必要です。広告リクエストには通常、端末の広告ID、IPアドレス、おおよその位置情報、行動上の文脈が含まれます。

読み取り履歴をクラウドに同期する — スキャナーアプリの中には、読み取り履歴を複数の端末間で同期する機能を提供するものがあります。つまり、レストランのメニュー、イベントのチケット、決済用QRコードまで、あなたのQR読み取り履歴のすべてが第三者のサーバーに保管されるということです。

更新確認と利用状況の送信 — ほとんどのアプリは起動時に自社サーバーへ接続し、更新の有無を確認して利用状況のデータを報告します。

オンラインでQRコードを読み取ると何が漏れるのか

いくつかの現実的な場面で具体的に考えてみましょう。

レストランで: メニューを見るためにQRコードを読み取ります。スキャナーアプリはそのURLを解析サーバーへ送信します。数か月分が積み重なれば、あなたの外食習慣の輪郭が浮かび上がります。

診療所で: 患者受付フォームのQRコードを読み取ります。そのURLには医療機関の識別子や、場合によっては予約に関する付随情報が含まれていることがあります。集積されれば、医療関連のQR読み取り履歴はあなたの受診行動を映し出します。

決済端末で: 支払い用のQRコードを読み取ります。この種のURLには取引パラメーターが含まれていることが多く、その記録はあなたの金銭的な行動を明らかにします。

オフライン優先の読み取りがこれらをすべて解消する理由

オフライン優先のQRスキャナーは、すべての解読を端末上で行い、インターネット権限を持たず、ネットワーク通信を行うことができません。そうしたアプリでは次のようになります。

  • 解析用の通信は発生しない。そもそも通信するためのネットワークアクセスがないため
  • 広告ネットワークへのリクエストも発生しない。広告を取得することも表示することもできないため
  • 読み取った内容が端末の外へ出ることは決してない
  • 読み取り履歴は端末内にのみ保存される
  • あなたのIPアドレスがアプリのサーバーに知られることは決してない

これは開発者のプライバシーポリシーを信用するかどうかという話ではなく、構造上の保証です。インターネット権限のないアプリは、文字どおり外部へ通信することができません。

QR Code Reader Without Ads: 設計段階から100%オフライン

QR Code Reader Without Adsは、まさにこの原則を土台として作られています。このアプリはインターネット権限を持ちません。これは確認可能な事実です。Androidでは、アプリが宣言している権限をPlayストアの掲載ページや端末の設定画面で確認できます。QR Code Reader Without Adsに表示されるのはカメラ権限だけです。

Wi-Fiパスワードを含むQRコードを読み取っても、そのパスワードは端末内にとどまります。URLを読み取った場合も端末上で解読され、あなたが「開く」をタップするまでどこにも送信されません。連絡先のQRコード(vCard)を読み取れば、連絡先情報は端末上で処理され、そのままアドレス帳に追加されます。決済用QRコードを読み取れば、支払い用URLは確認のためにあなたに表示されるだけで、サーバーにアップロードされることはありません。

Wi-Fiでも、5Gでも、4Gでも、まったく電波がなくても、アプリの動作は変わりません。機内モードの飛行機の中でも、地下駐車場でも、人里離れた自然の中でも、どこでも使えます。オフラインで動くことは有料版で解放される機能ではなく、このアプリの根本的な設計そのものです。

オフラインでのQR読み取りが持つそのほかの利点

速さ: ネットワーク通信がないぶん、結果の表示が速くなります。読み取れば結果が出る。通常は1秒もかかりません。

バッテリー: ネットワーク通信は電力を消費します。通信をまったく行わないアプリは、広告ネットワークとの接続や解析用ビーコンを維持し続けるアプリよりも、はるかに電池を消費しません。

信頼性: 完全にオフラインのアプリは、100%の場面で、100%の場所で動作します。

アカウント不要: QR Code Reader Without Adsにはクラウド機能がないため、アカウントの仕組みそのものがありません。ログインするものも、管理するプロフィールもありません。

本当にオフラインのアプリかを確かめる方法

  1. 宣言されている権限を確認する — INTERNET権限を持たないアプリはネットワーク通信を行えません。Playストアの掲載ページか端末の設定で確認しましょう。
  2. ネットワーク監視ツールを使う — NetGuard(Android)などのアプリを使えば、すべてのアプリの通信状況を確認できます。
  3. Exodus Privacyのデータベースを調べる — ExodusはAndroidのAPKを解析し、含まれるトラッカーと権限をすべて一覧表示します。
  4. 端末を機内モードにする — 機内モードでも問題なく動作するなら、そのアプリは本当にオフラインです。

QR Code Reader Without Adsは、この4つのテストすべてに合格します。

QR Code Reader Without Adsをダウンロード — オフライン、無料、追跡なし

Android版を無料でダウンロード:

Google PlayでQR Code Reader Without Adsをダウンロード — 完全無料

iPhone・iPadでも利用できます:

App StoreでQR Code Reader Without Adsをダウンロード — 完全無料

どこでも読み取り、データはあなたの手元に。広告なし、アカウントなし、妥協なし。