世界を動かす技術を、日本語で。

Androidが写真に位置情報を共有するのを停止するようになりました

概要

  • OpenBenches は記念ベンチの写真と位置情報を共有するニッチなサイト
  • Androidの仕様変更により 写真の位置情報(EXIF)付きアップロード が困難化
  • Web経由やBluetooth等の転送方法 でも位置情報が削除される現状
  • プライバシー保護 が理由とされるが、事前告知や選択肢の提示なし
  • ネイティブアプリ開発 以外の解決策を模索中

Androidでの写真位置情報アップロード問題

  • OpenBenches は記念ベンチの写真と、その 位置情報(ジオタグ) を地図にマッピングするサービス
  • 以前は <input type="file" accept="image/jpeg"> で写真選択・アップロードが可能
  • その後、Googleは仕様を変更し、 accept属性 付きの画像アップロードが正常に動作しなくなる
  • ファイルピッカー<input type="file">)の利用を推奨されたが、すべてのファイルが選択可能となり利便性が低下
  • さらに最新のアップデートで EXIFメタデータ も削除されるようになる
  • PWA(Progressive Web App) でも回避不可
  • BluetoothやQuickShare、メール送信 でも写真の位置情報が自動で削除される仕様
  • 結果として、 USBケーブルでPCに転送 し、デスクトップブラウザ経由でアップロードするしか方法がなくなる

Googleの仕様変更とその背景

  • Android の支配的なシェアによる 独占的な仕様変更 問題
  • プライバシー保護 が主な理由とされる
    • ユーザーが意図せず位置情報付き写真を公開し、 犯罪被害 に遭うリスク
    • SNS各社 (Facebook, Mastodon, BlueSky, WhatsApp等)は自動で位置情報を削除
  • Google はコミュニティへの事前告知や選択肢の提示を行わず、突然の仕様変更
  • 結果として、 OpenBenches運営者 にユーザーからの苦情が集中

今後の選択肢と課題

  • 理想的な解決策 としては、Webサイト側で「この写真の位置情報を利用しますか?」という 明確な許可ポップアップ の導入
    • しかし、 ユーザーの混乱過剰なダイアログ による利便性低下が懸念点
  • 現状、 Android/iOS向けのネイティブアプリ開発 が唯一の実用的解決策
    • ネイティブアプリは 位置情報付き画像アクセス権限 を個別に取得可能
    • しかし、 開発・運用コスト管理負担 が大きい

コミュニティへの呼びかけ

  • AndroidのWebブラウザ で、写真の EXIF位置情報 をそのままアップロードできる方法を知っている場合は情報提供を希望
  • HTML Specへのフィードバックや+1の協力 も呼びかけ

Hackerたちの意見

同様に、Androidの標準フォトピッカーは元のファイル名を削除しちゃうんだよね。これが原因で、毎日のようにカスタマーサポートの問題が起きてる。ユーザーが「なんでファイル名が変わってるの?」ってアプリ開発者に聞いてくるんだ。 https://issuetracker.google.com/issues/268079113 ステータス: 修正しない(意図された動作)。

Googleの選択はすごく変だと思う。どれだけのユーザーがカメラからスマホに写真をアップロードして、さらにそのスマホからウェブにアップロードしてるんだろう?デフォルトのAndroidフォトピッカーやデフォルトのAndroidブラウザを使った写真アップロードのほとんどは、デフォルトのAndroidカメラアプリで撮った写真だと思う。もしGoogleが位置情報タグやファイル名が侵害的だと感じているなら、そういう風に書かないようにすればいいのに。

明らかに、画像ピッカーがファイル名を漏らすべきじゃないよね。ファイル名は、画像を保存しているファイルのディレクトリエントリのプロパティだから。画像ピッカーは画像へのアクセスだけを許可して、ディレクトリやディレクトリエントリ、ファイルにはアクセスできないんだ。ファイル名が必要なら、画像じゃなくてディレクトリへのアクセスをリクエストしないと。

おそらく、実際にジオロケーションを使うのは、モバイルブラウザからアップロードされた画像にとってはかなりニッチな使い方だね。99.9%のユーザーは、写真を撮るときに実質的に自分のGPS座標をランダムなウェブサイトに送信してるって気づいてないと思う。でも、ユーザーにポップアップ確認を出すためのinputタグの'includeLocation'があったら良かったかも。

99.9%のユーザーは、写真を撮るときに実質的に自分のGPS座標をランダムなウェブサイトに送信してるって気づいてないと思う。Googleマップにある様々なリスティングに関連付けられた写真の90%は、自分の写真が公開されてるって知らないんじゃないかな。すごくプライベートな感じの自撮りや他の写真をよく見かけるけど、誰かがGoogleマップにアップロードしてて、その写真が店の横にあったりして、GoogleがEXIFで繋げたんだろうね。

政府で働いてた時の最初の衝撃は、州の保護機関の爬虫類学者たちと一緒にいた時だった。ゴファータートルの生息地を守るための公教育キャンペーンがあって、「巣を見つけたら機関に知らせて!」っていう大きな呼びかけがあったんだ。でも、真面目に参加してくれた市民からの大量の無駄データが送られてきて、結局うまくいかなかった。アプリはただのフォームで、人に記入してもらうだけだったんだ。ユーザーの写真を求めてEXIFデータを取得したり、位置情報を送るオプトインをお願いしたら、笑われちゃった。結局、ユーザーは位置情報を求める政府のサイトからすぐに離脱することが分かったんだ!残念だね。

実際にジオロケーションを使うのは、モバイルブラウザからアップロードされた画像の非常にニッチなユースケースだよね。 モバイルブラウザだけなの? 記事では、Bluetooth経由で共有する時でも一般的なことのように聞こえるし、USB接続で画像をコピーするだけでEXIFにジオロケーションを保持できるって言ってる。ネイティブアプリにアップロードするとどうなるのかは不明だ。例えば、特定の写真用のクラウドストレージアプリにアップロードする時とか。クラウドバックアップを取る時には、位置情報が残ってほしいな。 [0] 引用: >> 「プログレッシブウェブアプリ」を使ってもダメだよ。じゃあ、ユーザーはBluetoothやQuickShareで写真を転送できるの? いいえ、それも壊れちゃった。位置情報が削除されずに直接メールで共有することもできない。ジオロケーションが intact な写真を得る唯一の方法は、USBケーブルをつないでコンピュータにコピーしてから、デスクトップのウェブブラウザでアップロードすること?

非常にニッチなユースケースだけど、スマホはコンピュータだから、GoogleやAppleが自分の写真にとっての良いユースケースを決める権利はないよね。

位置情報は毎回、例外なしでオンにしておきたい。今の動作はまさに私が求めていたものだよ。この「全ユーザーは保護が必要なバカ」っていうデザインパターンは、早く消えてほしい。イライラするよ。キッチンナイフを取り上げて、カラフルなプラスチックの子供用バージョンに替えても、同じ切る作業をしなきゃいけないんだから。

その点については同意するよ。私はそれを使ったことがないけど、GoogleがuBlock Originを潰した理由については嘘をついてたよね。広告がコンピュータに侵入するのを防ぐために人々がそれを使ってたのは明らかだった。今のウェブは、一般的なコンテンツブロッカーなしでは使えないよ。uBlock Liteはいいけど、uBlock Originほど便利じゃない。FirefoxとデフォルトのChromeを比べると、ウェブサイトのUIがめちゃくちゃ壊れてるのに気づく。uBlock Originを使えば、ポップアップや広告だけじゃなくて、ひどいUIの選択肢も排除できるから、たくさんのウェブサイトでそれを使ってシンプルにしてる。

これは悲しい話だけど、面白そうなプロジェクトだね。でも、Googleはここで100%正しいことをしたと思う。ほとんどの人は写真のメタデータにどれだけの情報が含まれているか全然知らないし、できるだけそれを削除するのは、みんなが世界がどうあるべきか期待していることに合ってると思う。

もしGoogleが本当にプライバシーを気にしてたら、マップをサブドメインから移動させたりしなかったはずだよ。今、マップに自分の位置を表示させたいなら(論理的に)、Googleの検索にも自分の位置を許可しなきゃいけないんだ。

同意するよ。次のステップは、北朝鮮みたいに全国的にインターネットを無効にすることだね。人々はどれだけ悪いことがあるか全然知らないし。あと、楽しいこともあんまり好きじゃない。

でも、貴重な機能を完全に失わずにこれを実現する方法はあるんじゃない?これはまるでAndroidのサイドロードの議論を再現しているみたい。1%のユーザーにとってすごく役立つものが取り去られちゃう。結局、使えない家電ばかりになっちゃうし、皮肉なことにプライバシーもないままだろうね。

確か、たくさんの大きなサイトやサービスはすでにEXIFを隠したり、完全に削除したりしてるよ。明らかに、ソースからやる方がいいよね。

Redditでは「これAIなの?」って質問の半分は「はい、メタデータにそう書いてある」って答えられてるよ。

ほとんどの人は、自分が買って使っているツールがどう動いているか全然わからないから、少数の合理的な人が勉強すると苦しむことになるんだよね…これは自由に関して悪循環のように聞こえる。

潜在的な被害者を犠牲にするなんて、クソみたいなことだよね。でも…撮った画像にメタデータがあるって知らなかったら…コンピュータを使う資格がないかも。何十年も前から知ってることだからさ。90年代中頃のXファイルのエピソードでこのことを解説してた気がする。NCISとかでも。

100%同意。人々はEXIFデータがどれだけ個人を特定できるかをあまり理解してないよね。自分のカメラやスマホの中に「デバイス起動からの秒数」カウンターがあったのを覚えてる。写真が撮られた正確な時間と合わせると、最後に電話が再起動された時の正確なタイムスタンプが得られる。これだけでも、小規模から中規模の候補の電話や写真家の中でかなりの特定ができちゃうんだ。

条件付きで削除するんじゃなくて、「位置情報を含める」っていうチェックマークをちょっと追加するだけでいいのに。オリジナルポストによると、USBケーブル以外にデータを取り出す手段を完全にシャットダウンしたみたいだね。

そうだね、理解できる。正当な使い方には不便だよね。問題は、デバイスが機密データを漏らしすぎてることなんだ。記事でもプライバシーについてはっきり言及されてたし、安全性やセキュリティについても例が挙げられてた。これは企業のイメージや責任を超えた問題だよね。残念ながら、便利さを保ちながらこの問題を解決する良い方法はないんだ。著者が指摘したように、アップロード中のプロンプトはあまり効果がないし、アプリのデフォルト設定はウェブブラウザにはあまり合わない。あるウェブサイトで許可されていることが、別のウェブサイトで許可されているとは限らないからね。ウェブサイトを通じてユーザーに位置情報を入力させるのは、開示される情報に気づかせるけど、不便だよね。状況は最悪だと思う?うん。でも、Googleはここで責任ある行動をしてると思うよ。

同意する。ウェブブラウザのデフォルトは、最大のプライバシー、最小の共有、最小の信頼であるべきだよね。もし位置情報付きの写真にアクセスしたいなら、ウェブサイトじゃなくてアプリを作ればいいんだ。そのアプリが明示的にその権限を求めればいい。面倒くさい?じゃあ、やらないんだろうね。世界の終わりってわけじゃないけど。

これが正しい方向だと思う。https://github.com/whatwg/html/issues/11724#issuecomment-419... ブラウザに情報を明示的に使う機能を追加するのが一番の解決策だよね。問題は、バックアップの解決策なしに変更があったこと。ネイティブアプリを作らずに、画像に位置情報を誤ってアップロードするのを防ぐのは正しい判断だと思う。もっと広まって、自動で処理されるべきだよ。

デフォルトで位置情報タグを無効にするのは正しい判断だと思うけど、Googleは少なくとも欠けている機能の解決策がWHATWGの仕様に入るまで待つべきだったと思う。

順番を入れ替えたら賛成するかも。まずはオプトイン/オプトアウトのUIを作ってからデフォルトを変えるべきだよ。今のままだと、操作が不可能になっちゃった。

これに対する良い解決策はわからないな。99%のウェブサイトがこの仮想的な許可を求めても、それに値しないと思う。ユーザーは(当然)写真をアップロードすることで自分の位置情報が漏れるなんて思ってないよ。Element(マトリックスクライアント)は、長い間ジオロケーションメタデータを削除しなかったけど、今はどうなってるかわからない。

完全に同意。位置情報を完全に削除するんじゃなくて、ぼかしてほしいな。緯度・経度の6桁を指定する代わりに、だいたい10km圏内の大まかなエリアを示す1桁を公開すればいいのに。これまでに地理情報を使った面白いプロジェクトをたくさんやってきたよ。個人の旅行日記や、ツイートやFlickrの写真のビジュアライゼーションとかね。今はほとんど不可能になっちゃって悲しいけど、大多数の人がプライバシーリスクを理解してないのは尊重してる。一方で、広告の裏側ではGoogleが正確な位置を把握してて、第三者に広告をターゲットするのに使ってる。Grindrみたいないやらしいアプリは、位置情報を求める人に売ってるし。悪い奴らはこのデータを手に入れてるけど、役立つアプリには届かないんだ。

完全に反対だね。そうなると、最悪の状況になると思う。多くのニッチな使い方には役立たないし、写真が位置情報を明かすことを知らない大多数のユーザーにはプライバシー侵害になる。ファイルピッカーにuseLocationやincludeExif属性を要求して、ユーザーからの確認を求めるっていう他の提案の方が、ずっと良い解決策だと思う。

OPと非常に似た状況で、この動きは自転車レーンや欠けているラック、サイクリストにとって危険な場所を報告するボランティア運営のプラットフォームを完全に壊しちゃった… https://app.vigilo.city/ アプリはすごく基本的だけど、参入障壁がほとんどないんだ。特に、ただ報告するだけならアカウントが必要ない「オープンドア」アプリなんだよ。残念ながら、GPS EXIFがないと、今はかなり手間がかかる。これには本当に腹が立ってる。ユーザーに位置情報共有を具体的に知らせるクリーンなフローを設計するのは難しくないのに。

これって、Googleみたいな組織がよくやる「プライバシー」へのアプローチだよね。自分のデータにアクセスしたりエクスポートしたりできないのに、Googleはそのデータに100%アクセスできるっていう。メッセージアプリも同じで、自分の会話のスクリーンショットを取らせてくれないんだ。例えば、誰かが住所を送ってくれたんだけど、プライバシーを守るためにスクリーンショットが取れないっていう。

同じような動きで(特定のユーザーにとって重要な機能を静かに変更する)、Android 11ではGoogleが突然「特別な」文字(":?|*)をファイル名に使えなくしたんだ。おそらく、Windows/NTFSでは許可されてないから、WindowsユーザーがそれをWindowsコンピュータに転送するのに苦労するかもしれないからだろうね。でも、私はNTFSなんて全然気にしてない。自分のLinuxマシンとファイルを同期させたいだけなのに、今はそれができなくなった。叫びたくなるよ。