本日、Reincubate Lookupを公開します。ユーザーから繰り返し寄せられてきた疑問に応えるものです。Apple デバイスのシリアル番号や IMEI から、そのデバイスが何で、何ができるのかを、正確に特定できるでしょうか。
- eBay で iPhone や iPad を購入するとき、スペック(とくにデバイスの製造時期やストレージ容量)を確認したいことがあります。出品情報にシリアル番号や IMEI が載っていれば、スペックはもちろん、そのデバイスがロックされた状態で販売されたものかどうかまで確認できます。キャリアロック付きで販売されたデバイスのシリアル番号検索の例がこちらです。
- 開発者は、特定のバージョンの iOS でアプリをテストする必要がよくあります。古い iOS が入った中古デバイスを探すのは砂金採りのようなものですが、デバイスの出荷時のバージョンを特定できれば、数多くの出品を除外できます。
- 多数のデバイスを管理するシステム管理者は、MDM ツールから得られる仕様やデバイスデータが限られています。企業や機関では、Reincubate Lookup の裏側にあるテクノロジーを、デバイスの資産データを充実させるためにすでに活用しています。

Apple のシリアル番号や IMEI を検索する準備ができた Reincubate Lookup
昨年1年間で、お客様やユーザーから私たちの API に、デバイス情報を求める1,300万件のリクエストが寄せられました。これが、さらに踏み込んでみようという原動力になりました。
Reincubate Lookupの約束はシンプルです。Apple のシリアル番号か IMEI を入力すると、正確で、倫理的で、使いやすいデータを提供します。この約束の一つひとつが私たちにとって特別な意味を持っており、それぞれが大切な理由にはストーリーがあります。順番に見ていきましょう。
使いやすさ
モバイルデバイスについて調べようとすると、専門用語がたくさん出てきます。そのため私たちは、表示する情報の並べ方や見せ方、ラベルの付け方を最善にするために時間をかけて考えました。一部の技術系ユーザーには役立つかもしれないものの、他の人を混乱させかねないデータ項目は、あえて表示していません。
デバイスデータには価値があり、消費者がその信頼性を判断するのは難しいため、このデータを提供するサービスが数多く登場しました。そうしたサービスは、他者によるスクレイピングを防ぐために、不快で使いにくい仕組みをいくつも設けてデータを囲い込んでいます。私たちは面倒な CAPTCHA を使わないことにし、Lookup を非常に高速で、間に読み込み用のページを挟まずに動作するように作りました。
不思議なことに、モバイルデバイスに関するデータでありながら、スマートフォンやタブレットで快適に使えるインターフェースを備えた同種のサービスはほとんどありません。私たちは、モバイルでも使いやすく、世界中の人にも使いやすいものを目指しました。
Reincubate Lookup のアクセシビリティについては、うまく作れたのではないかと思っています。iPhone と iPad で入念にテストしており、見た目もかなり洗練されていると思います。ダークモードにネイティブ対応しており、目の疲れを和らげるために配色が切り替わります。CAPTCHA を求められることはなく、11の言語で利用できます。

Reincubate Lookup のダークモード
正確さ
2017年にデバイス識別 APIの開発を始めて以来(そして昨年の夏には、iPhone Backup Extractor でのデバイスメタデータの拡充にも対応しました)、このデータについて多くのことを学び、解決したいと考える難しい問題がいくつも見つかりました。
最初に学んだことのひとつは、率直に言って、Apple の識別子の背後にあるデータはかなり混乱しているということです。Apple 自身、正規のモデル識別子を一本化しておらず、社内の命名にも一貫性がありません。場合によっては(iPhone 3G がその例です)、同じ ID が異なる製品に再利用されていることさえあります。
私は WWDC で、Apple のエンジニアやマネージャーと話しながら、社内に一貫性がある兆しを探して楽しい時間を過ごしましたが、彼ら自身もそれについてはもどかしさを口にしていました。さらに、Apple のモデル識別に関するドキュメントには一貫性がなく、(主なものだけで12種類ある)ほぼすべての識別子が、ドキュメントのどこかで「モデル」と呼ばれています。
Apple が使う識別子は、時代とともに変化してもいます。シリアル番号には3つの異なる形式があり(まもなく4つになります)、UDID にも2つの異なる形式があります。ファミリー番号は以前は必ず「M」で始まっていましたが、現在は「A」でしか始まらず、代わりに一部のMPNが「M」で始まるようになりました。例を挙げればきりがありません。
ウェブにはすでにさまざまな検索ツールがありますが、少し調べればそこに誤ったデータが見つかります。たいていは構造上の問題です。Everymacのようなツールは、正しそうに見える識別子データ同士の関係を観察した結果にもとづいており、それが当てはまらなくなるまでは正しく見えます。この点を認識できるだけのデータを持つツールもあり、その場合、検索結果は単一の確定的なものではなく、複数の候補の範囲として返されます。ほぼ正しそうに見えるのに、実は違うデータを返すツールもあります。
問題は構造上のデータだけではありません。こうしたシステムの多くは、データの出どころにも欠陥があります。Apple の GSX サービスからのスクレイピングや、技術者による入力、あるいは最悪の場合、ウェブを見ている誰とも知れない変わり者による入力に頼っているのです。
これを正しく実現するために、私たちは3つの条件を満たしたいと考えました。
- システムは、できるだけ多くのことを自動的かつ独立して学習しなければなりません。定期的なデータ入力、編集、モデレーションが必要なものは、すぐに古くなってしまうからです。

We needed... a learning computer - システムは、ライセンスのないデータや信頼できないデータに頼ってはなりません。iPhone Wikiにはいくらかのデータがあります(私たちも多数寄稿しました)が、正規化されておらず、完全に正確とは言えません。Apple の GSX API にもいくらかのデータがありますが、やはり正規化されておらず、一部には本当におかしなことが起きており、このような使い方についてのライセンスもありません。
- システムは、「たいてい正しい」ではなく、私たちが完全に自信を持てるデータと結果を出さなければなりません。したがって、単一の答えが得られない場合や、答えの確度が低い場合には、システムはそのことをはっきり示す必要があります。
倫理的であること
ただし、制約は正確さだけではありませんでした。業界でこのデータの一部がどこから調達されているのかを知るまでに、時間はかかりませんでした。報酬を受け取った従業員のネットワークが、社内データベースからデータをこっそりコピー(盗み出し!)していたのです。
Reincubate Lookup をどう機能させるかを見つけ出すまで、IMEI データの入手元は実質的に3つしかありませんでした。
- Apple のGSX APIのスクレイピング。これは Apple の利用規約違反であり、API へのアクセスが取り消される原因になります。GSX アカウントへのアクセスを転売し、使い潰しては新しいものを手に入れようとする、小さな業界が存在します。これではうまくいきません。
- GSMA の IMEI データベースのライセンス取得。モバイル業界の業界団体であるこの組織は、すべての IMEI 情報の正規の登録簿を保有しており、デバイスの識別に役立つタイプ割り当てコード(TAC)のデータベースをライセンス提供しています。理想的に思えますが、実際はもっと複雑で、組織自身も「GSMA Device Map」データの精度は95%にとどまると述べています。何より、そのデータベースには、掲載されているデバイスの正規化された識別子が含まれていません。TAC で検索しても、iPhone XS であることが分かるだけかもしれません。これではまったく粒度が足りません。
この組織は、自らが代表するモバイルメーカーと、ある意味で対立しているようにも見えます。一方ではIMEI の完全性を維持するためのプログラムを運営しながら、もう一方では「the GSMA does not have the responsibility or powers to stop illegal TAC and IMEI activity」と述べているからです。このデータの誤登録は珍しくなく、「non-compliant TAC / IMEI reporting process」を大々的に推奨しているほどです。
これが実際に意味するのは、考慮すべきデータセットが2つあるということです。1つは、ベンダーからの自己申告にもとづく GSMA のデータで、不完全で不正確ですが、少なくとも理論上は正確なもの。もう1つは、モバイルデバイスを調べることで構築できる、正確で正規化された実世界のデータです。私たちは、GSMA のものよりも包括的で有用な、3,000件の Apple デバイスの TAC のデータベースを構築しなければなりませんでした。 - 通信事業者の従業員に賄賂を渡して「データスパイ」にする。これは、米国の携帯電話会社が消費者の位置情報を賞金稼ぎや常軌を逸した人々に売っていたのと同じ種類の忌まわしい慣行であり、違法な「iCloud ロック解除」サービスの手口でもあります。
IMEI サービスの中には、これをかなり露骨に宣伝しているものもあります。英国のあるサービスのサイトで、次のような広告を見つけました。

怪しげなロック解除サービスの仕組み
どちらの方法も使うつもりはなかったので、必要なデータを見つけるための第三の道を探す必要がありました。スパイも GSX も使わず、後ろめたい手段も使わない方法です。
その答えは、本質的に、非常に大量のデータを分析し、そのデータがどのように関連しているかを理解し、それを時間とともに自動的に更新される一連の事実にまとめ上げることにあります。このデータの一部はデバイス自体に固有のもので、一部は、データに関する匿名化された質問を調べることで導き出せます。「このデバイスは A かつ B だが、C でもあるか」という形式のクエリが十分にあれば、A と B が関連していることが分かり始めます。これはawdit 製品を支えていたのと同じ手法で、十分な数の質問を見れば、答えを生み出せることがあるのです。
データベースに約500万件のクエリが集まった時点で、この分析はほぼあらゆるデバイスで機能し始めました。ある質問に答えるだけのデータがない場合、Reincubate Lookup は iPhone Backup Extractorでの確認をおすすめします。こちらは、さらに深く調べて、その質問を私たちに知らせてくれる賢さを備えています。
本日時点で、2,350のモデルに対する9,000弱の構成コード、127か所の生産拠点、304の流通地域、そして3,000を超える IMEI タイプ割り当てコードを特定しています。
以上が、Reincubate Lookupを作るに至った経緯と、作るうえで使いやすさ、正確さ、倫理性が大切だった理由です。気に入っていただけて、お役に立てれば幸いです。さらに詳しく知りたい方へ。Lookup のデータはすべて私たちのDeviceIdentifier APIから取得しており、これを使って何かを作っている方々を見るのは私たちの喜びです。
どうぞお気軽に、使ってみた感想をお聞かせください。






