{"id":50041,"date":"2025-11-13T18:06:46","date_gmt":"2025-11-13T23:06:46","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=50041"},"modified":"2025-11-26T15:23:31","modified_gmt":"2025-11-26T20:23:31","slug":"messages-app-violates-tracking-number-privacy","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2025\/11\/13\/messages-app-violates-tracking-number-privacy\/","title":{"rendered":"Messages.app Violates Tracking Number Privacy"},"content":{"rendered":"<p><a href=\"https:\/\/lapcatsoftware.com\/articles\/2025\/11\/1.html\">Jeff Johnson<\/a>:<\/p>\n<blockquote cite=\"https:\/\/lapcatsoftware.com\/articles\/2025\/11\/1.html\">\n<p>Today I received a shipment notification via text message to my phone number from a company unrelated to Apple. The shipped product was not ordered with my iPhone, and in fact the product manufacturer doesn&rsquo;t even know that I own any Apple devices. The message included a US Postal Service tracking number. Messages app on my iPhone transformed the tracking number into a link. When I pressed down on the link to reveal the URL, I was surprised by it:<\/p>\n<blockquote><code>https:\/\/trackingshipment.apple.com\/?Company=USPS&amp;Locale=&amp;TrackingNumber=<\/code><\/blockquote>\n<p>My tracking number, which I won&rsquo;t post here, was appended to the URL. If I had tapped on the link generated by Messages app, it would have sent my tracking number not to the US Postal Service but to Apple!<\/p>\n<\/blockquote>\n<p>As he says, &ldquo;Apple considers itself implicitly trustworthy,&rdquo; so there are all these specific examples of violations that it just doesn&rsquo;t count. But when it comes to <em>others<\/em>, Apple will assume the worst intentions and make the least charitable reading. For example, it makes broad <a href=\"https:\/\/www.macrumors.com\/2025\/11\/12\/dma-no-lower-fees-study\/\">public statements<\/a> like, &ldquo;The DMA has failed to live up to its promises, delivering less security, less privacy, and a worse experience.&rdquo; And most people seem to unquestioningly believe these claims, just as they assume that App Review can and does reliably provide critical protection. (The reality is that it&rsquo;s not possible for it to ensure privacy in accordance with the <a href=\"https:\/\/mjtsai.com\/blog\/2025\/07\/31\/tea-and-the-app-store\/\">nutrition labels<\/a>, and they don&rsquo;t even check that the basic functionality works.) When an Apple-funded study suggests that one potential benefit of EU legislation might not have come to pass, Apple says that&rsquo;s failing to live up to its promises. But when Apple breaks a specific privacy-related promise, it just <a href=\"https:\/\/mjtsai.com\/blog\/2023\/10\/03\/apple-memory-holes-ocsp-preference\/\">memory holes it<\/a>.<\/p>\n<p>There&rsquo;s good privacy work being done, but it&rsquo;s gotten so bound up with marketing and anti-antitrust weaponization. For example, the recent watch Wi-Fi story got presented as: Apple is removing a useful feature because the EU was going to force Apple to give your private information to data brokers. Now, it seems, the actual story is that Apple is now asking for consent (i.e. no longer self-preferencing) and has created a secure API to provide the functionality while preserving privacy. This sounds like something to celebrate, but because privacy has become a cudgel it has to be badmouthed and obscured. For a while, sprinkling the word &ldquo;privacy&rdquo; everywhere gave the impression that <em>they really care about privacy<\/em>. But somewhere along the line, it&rsquo;s started to seem more like a Get Out of Jail Free card. So, for me, the bit has been flipped, and whenever I see that word I&rsquo;m on alert to see whether a specific claim is being made and whether it actually makes sense.<\/p>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2025\/11\/12\/apple-funded-study-on-eu-alternative-app-store-business-terms\/\">Apple-Funded Study on EU Alternative App Store Business Terms<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2025\/11\/07\/white-label-gemini-on-private-cloud-compute\/\">White Label Gemini on Private Cloud Compute<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2025\/11\/06\/ios-26-2-to-remove-iphone-apple-watch-wi-fi-sync-in-eu\/\">iOS 26.2 to Remove iPhone&#x2013;Apple Watch Wi-Fi Sync in EU<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2025\/11\/06\/airpods-live-translation-expands-to-the-eu\/\">AirPods Live Translation Expands to the EU<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2025\/10\/24\/europe-vs-app-tracking-transparency\/\">Europe vs. App Tracking Transparency<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2025\/10\/10\/evolution-of-apple-security-bounty-program\/\">Evolution of Apple Security Bounty Program<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2025\/09\/25\/apples-thoughts-on-the-dma\/\">Apple&rsquo;s Thoughts on the DMA<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2025\/10\/09\/french-siri-spying-lawsuit\/\">French Siri Spying Lawsuit<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2025\/07\/31\/tea-and-the-app-store\/\">Tea and the App Store<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2023\/10\/03\/apple-memory-holes-ocsp-preference\/\">Apple Memory Holes OCSP Preference<\/a><\/li>\n<\/ul>\n\n<p id=\"messages-app-violates-tracking-number-privacy-update-2025-11-14\">Update (<a href=\"#messages-app-violates-tracking-number-privacy-update-2025-11-14\">2025-11-14<\/a>): I&rsquo;ve been <a href=\"https:\/\/mastodon.social\/@mjtsai\/115544896790829468\">discussing this<\/a> with <a href=\"https:\/\/mastodon.social\/@ivanpavlov\/115546048221680747\">Ivan<\/a> <a href=\"https:\/\/mastodon.social\/@ivanpavlov\/115546048908926524\">Pavlov<\/a>, developer of the excellent <a href=\"https:\/\/parcelapp.net\">Parcel<\/a> app, who doesn&rsquo;t think there&rsquo;s anything to be worried about. Perhaps he&rsquo;s right, but I don&rsquo;t see why one should <a href=\"https:\/\/mastodon.social\/@arroz\/115546813592912180\">bet<\/a> <a href=\"https:\/\/mastodon.social\/@mjtsai\/115548516429106931\">against<\/a> the data being useful when it seems like <a href=\"https:\/\/mastodon.social\/@lapcatsoftware\/115546091157663991\">more<\/a> <a href=\"https:\/\/hachyderm.io\/@ezekiel\/115546344335418997\">private<\/a> designs could work just fine. He says this was introduced in iOS 6, i.e. before Apple announced that new features would be reviewed by the privacy team, but I still think it contributes to <a href=\"https:\/\/mastodon.social\/@mjtsai\/115548439883785715\">reducing<\/a> <a href=\"https:\/\/mjtsai.com\/blog\/2025\/11\/13\/messages-app-violates-tracking-number-privacy\/#comment-4330717\">trust<\/a> in the overall privacy initiative.<\/p>\n\n<p><a href=\"https:\/\/pxlnv.com\/linklog\/apple-parcel-data-detectors\/\">Nick Heer<\/a> notes that the shipment tracking is really part of Apple Data Detectors rather than being specific to the Messages app.<\/p>\n<blockquote cite=\"https:\/\/pxlnv.com\/linklog\/apple-parcel-data-detectors\/\">\n<p>What is interesting to me is that the <code>trackingshipment<\/code> URL already contains the shipping company when it is created by the data detector. That is, Apple&rsquo;s web-side service is not used to determine which courier this number corresponds to. It is only performing a straight redirect.<\/p>\n<\/blockquote>\n<p>This suggests that much of the logic is <em>already<\/em> client-side, so the lookup could be made more privacy preserving simply by looking up a URL template for the appropriate company on demand. There&rsquo;s no need to download and cache elaborate conversion logic that could become outdated.<\/p>\n\n<p><a href=\"https:\/\/mastodon.social\/@iKyle\/115548866847134993\">Kyle Howells<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@iKyle\/115548866847134993\">\n<p>As far as Apple is concerned they can do more or less whatever they want as long as it never leaves Apple themselves. Because they are obviously implicitly trustworthy.<\/p>\n<p>Even the great privacy work they do, relies on you just trusting your phone actually does what they say. Because it&rsquo;s locked down so much you have no control over anything to prevent it if it didn&rsquo;t.<\/p>\n<\/blockquote>","protected":false},"excerpt":{"rendered":"<p>Jeff Johnson: Today I received a shipment notification via text message to my phone number from a company unrelated to Apple. The shipped product was not ordered with my iPhone, and in fact the product manufacturer doesn&rsquo;t even know that I own any Apple devices. The message included a US Postal Service tracking number. Messages [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2025-11-13T23:06:49Z","apple_news_api_id":"5d837bb7-4d3f-4dab-94ab-8e6601ab177c","apple_news_api_modified_at":"2025-11-26T20:23:35Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAABw==","apple_news_api_share_url":"https:\/\/apple.news\/AXYN7t00_TauUq45mAasXfA","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[2085,31,2741,30,2742,663,141,355],"class_list":["post-50041","post","type-post","status-publish","format-standard","hentry","category-technology","tag-antitrust","tag-ios","tag-ios-26","tag-mac","tag-macos-tahoe-26","tag-marketing","tag-messages","tag-privacy"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/50041","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=50041"}],"version-history":[{"count":11,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/50041\/revisions"}],"predecessor-version":[{"id":50217,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/50041\/revisions\/50217"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=50041"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=50041"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=50041"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}