|
Ground truth, inviolate: the OS owns the trust relationship with the user. The OS may allow the extension of that trust relationship (MDM, custom TLS roots, etc.) but that's informing the OS's own authorization, it's not supplanting it. It follows, then, Apple is the arbiter of consent on an iOS device because they own the OS (the user has chosen to, by buying an iOS device, grant the authorizee's part of the trust relationship). Apple does not have a trusted relationship with you, the software developer. And Apple doesn't know about a trust relationship between the user and the software developer until the OS sees confirmation from the user. It then follows that consent must be given at or inside the security boundary to be provable; the web page you refer to is outside of it. You are asking to move from a less trusted environment (a web browser, generally watched like a hawk) to a more trusted environment (an application, with additional implicit permissions and the explicit ability to ask for others). That isn't a decision you are allowed to make and it isn't something that, for all Apple knows, you confused-deputy'd your way around a user's affirmatively consenting to. It's turtles all the way down. You have to acquire consent at a trustable level. That means the OS or, if the OS isn't sure, the user themselves, through an OS-verifiable method. Sorry that your third-party vendor doesn't count, but it shouldn't. "Just trust me" isn't security. "But nobody cares" might be next up, so let's settle that now: nobody cares because they pay Apple to care for them. |
Yeah, they do, because they have to trust the certificates and entitlements that my app is signed with. All I'm asking for is an extension of that same idea to other parts of the app experience.
I just don't think we're going to agree on this, and that's fine. Care to call it a day and we can respectfully both walk away?