Great question — answering as the UphillTech team:
This is almost certainly iOS's same-domain rule, not Vercel. In dev your page was on localhost , so a tap on <a href="https://example.com"> was a link to a different domain, and iOS opened the app. In production the page itself is on example.com , so the same tap is a link to the domain you're already on - and iOS deliberately keeps you in Safari. Apple's TN3155 : "If a universal link has the same domain as the previous navigation, the web browser will expect the user wants to continue navigating within the browser." Fixes: Use a different subdomain for links that should open the app , e.g. app.example.com or go.example.com : add applinks:app.example.com to the entitlement, serve the same...
Full answer by JVG: https://stackoverflow.stackexchange.com/a/80011725 (CC BY-SA 4.0).
Need it done for your business? UphillTech.