Hi,
After enabling the new Enhanced Security capability in Xcode 26, I’m seeing install failures on devices running < iOS 26.
Deployment target: iOS 15.0
Capability: Enhanced Security (added via Signing & Capabilities tab)
Building to iOS 18 device error - Unable to Install ...Please ensure sure that your app is signed by a valid provisioning profile.
It works fine on iOS 26 devices.
I’d like to confirm Apple’s intent here:
Is this capability formally supported only on iOS 26 and later, and therefore incompatible with earlier OS versions?
Or should older systems ignore the entitlement, meaning this behavior might be a bug?
Prioritize user privacy and data security in your app. Discuss best practices for data handling, user consent, and security measures to protect user information.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hi Apple,
Currently we want to have enhancement for SMS OTP that we want to implement OTP Autofill, But after do some research we're stuck with option that the OTP only show in keyboard suggestion, is there any way for making OTP is automatically filled without user have to click the keyboard suggestion when receiving the SMS.
Thanks
Best Regards,
Admiral Sultano Harly.
Hi. I enter a password using the security command at the command line. It appears in the keychain access app, but not in the passwords app. I don't understand why.
rickhedin@Ricks-MacBook-Pro zalando % security add-generic-password -U -s "birds" -a "cats" -w "dogs"
rickhedin@Ricks-MacBook-Pro zalando %
rickhedin@Ricks-MacBook-Pro zalando % security find-generic-password -s "birds" -wa "cats"
dogs
rickhedin@Ricks-MacBook-Pro zalando %
I'm told the two apps are two views of the same data, so I guess some filter must be being applied?
Topic:
Privacy & Security
SubTopic:
General
Hi Apple Developer Community,
We have carefully reviewed the documentation on App Transfer and User Migration, but we still have a few unresolved questions regarding Apple Sign-In token behavior and testing strategies. Would appreciate any guidance!
Token Behavior for Pre-Transfer App Versions
After the app transfer: If a user logs in via an existing pre-transfer version of the app (published under Team A before transfer), will the Apple Sign-In token’s sub (or private email) switch to new value tie to Team B, or unchanged?
This is critical for our user migration plan.
Preserving sub Across Transfers (Internal Team Transfer)
Since our app-transfer is an internal transfer (no change in app ownership outside our organization), is there a way to retain the original sub value(or private email) for users after the transfer?
We are concerned that Apple Sign-In errors during the app transfer process may negatively impact user experience.
Testing the Transfer Process Safely
We’d like to simulate the app transfer and user migration process in a sandbox/test environment before executing it in production. Is there a way to test app transfers without affecting live users? (e.g., a staging mode for transfers)
Thank you for your expertise! Any insights would be invaluable.
Topic:
Privacy & Security
SubTopic:
Sign in with Apple
Tags:
Sign in with Apple REST API
Sign in with Apple
Question detail
Dear Apple Developer Technical Support,
We are currently following the official Apple documentation “TN3159: Migrating Sign in with Apple users for an app transfer” to carry out a Sign in with Apple user migration after successfully transferring several apps to a new developer account.
Here is a summary of our situation:
Under the original Apple developer account, we had five apps using Sign in with Apple, grouped under a shared primary app using App Grouping.
Recently, we transferred three of these apps to our new Apple developer account via App Store Connect.
After the transfer, these three apps are no longer associated with the original primary App ID. We reconfigured individual Services IDs for each app in the new account and enabled Sign in with Apple for each.
More than 24 hours have passed since the app transfer was completed.
Now we are attempting to follow the migration process to restore user access via the user.migration flow. Specifically, we are using the following script to request an Apple access token:
url = "https://appleid.apple.com/auth/token"
headers = {"Content-Type": "application/x-www-form-urlencoded"}
data = {
"grant_type": "client_credentials",
"scope": "user.migration",
"client_id": "com.game.friends.ios.xxxx", # New Primary ID in the new account
"client_secret": "<JWT signed with new p8 key>"
}
response = requests.post(url, headers=headers, data=data)
However, the API response consistently returns:
{
"error": "invalid_client"
}
We have verified that the following configurations are correct:
The client_secret is generated using the p8 key from the new account, signed with ES256 and correct key_id, team_id, and client_id.
The client_id corresponds to the Services ID created in the new account and properly associated with the migrated app.
The scope is set to user.migration.
The JWT payload contains correct iss, sub, and aud values as per Apple documentation.
The app has been fully transferred and reconfigured more than 24 hours ago.
Problem Summary & Request for Support:
According to Apple’s official documentation:
“After an app is transferred, Apple updates the Sign in with Apple configuration in the background. This can take up to 24 hours. During this time, attempts to authenticate users or validate tokens may fail.”
However, we are still consistently receiving invalid_client errors after the 24-hour waiting period. We suspect one of the following issues:
The transferred apps may still be partially associated with the original App Grouping or primary App ID.
Some Sign in with Apple configuration in Apple’s backend may not have been fully updated after the transfer.
Or the Services ID is not yet fully operational for the transferred apps in the new account.
We kindly request your assistance to:
Verify whether the transferred apps have been completely detached from the original App Grouping and primary App ID.
Confirm whether the new Services IDs under the new account are fully functional and eligible for Sign in with Apple with user.migration scope.
Help identify any remaining configuration or migration issues that may cause the invalid_client error.
If necessary, assist in manually ungrouping or clearing any residual App Grouping relationships affecting the new environment.
We have also generated and retained the original transfer_sub identifiers and are fully prepared to complete the sub mapping once the user.migration flow becomes functional.
Thank you very much for your time and support!
Topic:
Privacy & Security
SubTopic:
Sign in with Apple
Tags:
Sign in with Apple REST API
Sign in with Apple
Goal
I want to reply to feedback from customers who signed up using a private.relay account.
Problem
I am getting this error when sending an email:
Reporting-MTA: dns; mailfout.stl.internal
X-Postfix-Queue-ID: B87481D0015B
X-Postfix-Sender: rfc822; hello@mydomain.com
Arrival-Date: Fri, 7 Nov 2025 03:37:29 -0500 (EST)
Final-Recipient: rfc822; xxxx@privaterelay.appleid.com
Original-Recipient: rfc822;xxxx@privaterelay.appleid.com
Action: failed
Status: 5.1.1
Remote-MTA: dns; smtp3.privaterelay.appleid.com
Diagnostic-Code: smtp; 550 5.1.1 <hello@mydomain.com>: unauthorized sender
What have I done?
I have configured mydomain.com in the Email Configuration Service inside of apple, as well as the email hello@mydomain.com.
Using https://www.mail-tester.com/, I could confirm that the
- [SPF] Your server 202.12.124.158 is authorized to use hello@mydomain.com
- Your DKIM signature is valid
- Your message passed the DMARC test
My hunch
This app was transferred and the previous owner did not have the email configuration set up.
The emails I am writing messages to signed up at that time.
Questions:
If I rescue the old account and set up the email configuration, would it work?
Is there any other tip I could try to apply?
If a user triggers account revoke on their Apple ID—but does not perform an in-app account deletion—will Apple send a server-to-server notification to inform us of this revoke event?
Additionally, in this scenario, if the user later wants to restore access to their existing game account data (for example, by re-binding Sign in with Apple or switching to another login method), are developers expected to restore all previously linked game data, or should the revoke event be treated as a permanent loss of authorization?
Hello,
I’m experiencing an issue with email deliverability when sending messages through Apple’s private email relay service.
Our app uses “Sign in with Apple” and sends communication emails to users through relay addresses . Messages are successfully delivered but are consistently being placed in users’ spam or junk folders.
Configuration summary:
Domain: myapp.example
Mail server: OVH SMTP
SPF and DKIM: Active and validated
Domain and sender registered under “Sign in with Apple for Email Communication”
Messages pass SPF and DKIM checks successfully, but emails relayed by Apple’s private service are still being marked as spam.
Could anyone confirm if there are additional steps or configurations required to improve deliverability (e.g., DMARC alignment or specific header requirements)?
Thank you for your help!
Private relay emails are not being delivered, even though we've followed the guidance here,
https://developer.apple.com/help/account/capabilities/configure-private-email-relay-service/
iCloud, gmail etc. get delivered fine but as soon as its a private relay email address they get bounced as unauthorized sender.
We've tried a couple of domains but here I'll document test.x.domain.com
We have registered domains (test.x.domain.com), also the sender communication emails just to be safe (noreply at test.x.domain.com).
Passed SPF Authentication, DKIM Authentication.
ESP account shows as all green checks in mailgun.
Is there any way to track down what the actual rejection reason is?
{
"@timestamp": "2025-08-20T14:30:59.801Z",
"account": {
"id": "6425b45fb2fd1e28f4e0110a"
},
"delivery-status": {
"attempt-no": 1,
"bounce-type": "soft",
"certificate-verified": true,
"code": 550,
"enhanced-code": "5.1.1",
"first-delivery-attempt-seconds": 0.014,
"message": "5.1.1 <bounce+b53c9e.27949-6qj4xaisn4k=privaterelay.appleid.com@test.x.domain.com>: unauthorized sender",
"mx-host": "smtp3.privaterelay.appleid.com",
"session-seconds": 1.7229999999999999,
"tls": true
},
"domain": {
"name": "test.x.domain.com"
},
"envelope": {
"sender": "noreply@test.x.domain.com",
"sending-ip": "111.22.101.215",
"targets": "6qj4xaisn4k@privaterelay.appleid.com",
"transport": "smtp"
},
"event": "failed",
"flags": {
"is-authenticated": true,
"is-delayed-bounce": false,
"is-routed": false,
"is-system-test": false,
"is-test-mode": false
},
"id": "1gtVBeZYQ0yO1SzipVP99Q",
"log-level": "error",
"message": {
"headers": {
"from": "\"Test Mail\" <noreply@test.x.domain.com>",
"message-id": "20250820143058.7cac292cf03993f2@test.x.domain.com",
"subject": "Test Mail",
"to": "6qj4xaisn4k@privaterelay.appleid.com"
},
"size": 22854
},
"primary-dkim": "s1._domainkey.test.x.domain.com",
"reason": "generic",
"recipient": "6qj4xaisn4k@privaterelay.appleid.com",
"recipient-domain": "privaterelay.appleid.com",
"recipient-provider": "Apple",
"severity": "permanent",
"storage": {
"env": "production",
"key": "BAABAgFDX5nmZ7fqxxxxxxZNzEVxPmZ8_YQ",
"region": "europe-west1",
"url": [
"https://storage-europe-west1.api.mailgun.net/v3/domains/test.x.domain.com/messages/BAABAgFDXxxxxxxxxxxxxxNzEVxPmZ8_YQ"
]
},
"user-variables": {}
}
Dear Sir or Madam,
Thank you for your continued support. My name is Sato from atmos.
We are currently working with a vendor to implement Apple Sign In as a login method for our app, but we are encountering some issues and would like to contact you about them.
The Apple Sign In functionality itself is almost complete, but during verification, email relay is not permitted by Apple when Apple Sign In is used with a non-public email address, making it impossible to complete email relay verification for users.
We have reviewed the settings in “/account/resources/services/configure,” checked your FAQ, and explored all other possible solutions within our scope, but the situation remains unchanged. Would it be possible for your team to confirm the cause of the email relay not being permitted?
Thank you for your assistance.
atmos Sato
Translated with DeepL.com (free version)
Topic:
Privacy & Security
SubTopic:
Sign in with Apple
Hello.
Some of my users are signing in using "Sign in with Apple" and choosing the "Hide My Email" option. As expected, Apple generates a private relay email address. However, emails that we send to these addresses are not being delivered — the users report that they are not receiving anything.
We’ve configured our email sending domains in the Apple Developer portal, and all domains have been successfully verified with SPF records marked as OK.
Our system is sending the emails as usual, and we're not receiving any bounce-back or error messages. Everything looks fine on our end.
Is there something specific we need to configure to ensure emails sent to privaterelay.appleid.com addresses are delivered correctly?
Are there any known limitations or additional requirements for using Apple's private relay service?
Thank you!
Our organization operates a web platform that hosts numerous newspaper properties. We recently acquired a new newspaper and are in the process of integrating it into our platform. As part of this transition, we’ve successfully transferred the App and App ID for the acquired newspaper into our Apple Developer portal. However, no Service ID associated with Sign in with Apple was included in the transfer.
Our current implementation uses a single, unified Service ID for all existing newspaper properties. This Service ID facilitates OAuth via a centralized Identity Server. The organization we acquired provided a CSV file containing a list of transport_ids, and based on our understanding, we’re expected to use the Apple endpoint:
https://appleid.apple.com/auth/usermigrationinfo
to initiate a registration process by submitting our Service ID (client_id) along with each transport ID. This step is required before users can sign in, and it should return the existing relay email address.
We have a few key concerns:
Service ID Compatibility
It appears that users cannot be transferred between Service IDs. In our case, there are now two:
a.) Our existing Service ID (used across all current newspaper properties)
b.) A separate Service ID previously associated with the acquired newspaper
3.) Due to architectural constraints, our platform cannot dynamically toggle between multiple Apple Service IDs. All properties authenticate through our unified Identity Server bound to our existing Service ID.
4.) Is it possible to call /usermigrationinfo using our existing Service ID rather than the one originally used by the acquired property?
5.) Relay Email and Apple ID Consistency
6.) We’re seeing conflicting information about whether the Apple relay email address (@privaterelay.appleid.com) and the Apple user ID are preserved during this migration. Some sources suggest that the relay email and Apple ID are tightly coupled to both the Service ID and Team ID.
7.) If we call /usermigrationinfo with our existing Service ID, will the same relay email be returned, or will Apple issue a new one?
Topic:
Privacy & Security
SubTopic:
Sign in with Apple
Our app (app1) was recently transferred from Team A to Team B.
While reviewing the Apple login implementation, we discovered that "Sign in with Apple" had been incorrectly set up to use the Service ID and App ID of another app (app2) — specifically, it was using app2.service as the Service ID and app2 as the App ID.
In other words, app1’s users were authenticated through app2’s credentials due to a misconfiguration on our part.
Now that app1 has been transferred to Team B, we’re trying to preserve those users. However, app2 is still in Team A, and we cannot maintain Team A anymore — meaning app2 must also be transferred to Team B if we want to retain access to the user data.
One idea we considered is submitting app2 for App Review (even though it's non-functional) just to fulfill the transfer requirements, and then transferring it to Team B solely to retain the Apple login setup.
Is this approach acceptable?
Are there any recommended ways to handle this kind of misconfiguration while preserving existing Sign in with Apple users?
Topic:
Privacy & Security
SubTopic:
Sign in with Apple
Tags:
App Store
App Review
Sign in with Apple
My existing iOS app has a legacy App ID prefix which does not match my Team ID.
I am planning on migrating it to my Team ID. I am aware of the potential issues with keychain access groups, however I wanted to double check that there are no issues related to "Sign in with Apple".
My app is currently the "Primary App ID" in the "Sign in with Apple" settings. The full App ID is listed there, including the prefix.
Can someone from the relevant team at Apple confirm that changing the App ID prefix to Team ID has no effect related to "Sign in with Apple"?
Recently, we have adapted the passkey function on the Mac, but we always encounter the error message "Unable to verify the web credentials association of xxx with domain aaa. Please try again in a few seconds."
We can confirm that https://aaa/.well-known/apple-app-site-association has been configured and is accessible over the public network. Additionally, the entitlements in the app have also been set with webcredentials:aaa.
This feature has been experiencing inconsistent performance. When I restart my computer or reinstall the pkg, this feature may work or it may still not work. I believe this is a system issue.
Here is feed back ID: FB20876945
In the feedback, I provided the relevant logs.
If you have any suggestions or assistance, please contact me. I would be extremely grateful!
Topic:
Privacy & Security
SubTopic:
General
Tags:
macOS
Objective-C
Authentication Services
Passkeys in iCloud Keychain
Hello,
When using ASWebAuthenticationSession with an HTTPS callback URL (Universal Link), I receive the following error:
Authorization error: The operation couldn't be completed.
Application with identifier jp.xxxx.yyyy.dev is not associated with domain xxxx-example.go.link.
Using HTTPS callbacks requires Associated Domains using the webcredentials service type for xxxx-example.go.link.
I checked Apple’s official documentation but couldn’t find any clear statement that webcredentials is required when using HTTPS callbacks in ASWebAuthenticationSession.
What I’d like to confirm:
Is webcredentials officially required when using HTTPS as a callback URL with ASWebAuthenticationSession?
If so, is there any official documentation or technical note that states this requirement?
Environment
iOS 18.6.2
Xcode 16.4
Any clarification or official references would be greatly appreciated.
Thank you.
Topic:
Privacy & Security
SubTopic:
General
Tags:
iOS
Security
Authentication Services
Universal Links
Hi,
I'm trying to implement web-browser SignIn with Apple with my new app.
I'm trying to "Associate your website to your app" like described in this doc: https://developer.apple.com/help/account/capabilities/configure-sign-in-with-apple-for-the-web
So I created a Service ID for this specific login. I want this login page to display my app icon and name when presented to users.
My issue:
When I associate my new app the the service, the link is somehow not working.
The login page show the "service" login (with a generic apple logo and the Service ID's name) instead of the actual App name.
I'v been able to link my new service to older apps succesfully !!! (the login page correctly shows the old apps icons and names)
Why is my new app not associated with the service ?
I am missing something here ? is there an additionnal step that I need to take in order to link the service to my newest app ?
Thanks !
Hello everyone!
We are from Russia, and we no longer have an official Apple store. All phones are imported through parallel imports.
Yesterday, my wife logged out of her Apple ID and logged in to someone else's account, and as a result, her phone was in lost and locked mode. We have a sales receipt confirming the purchase, but it is from a Russian store.
Can you please tell me if there is a way to unlock the phone or if it is already a brick?
Scammers are asking for money to unlock the phone.
Thank you in advance for your reply!
Topic:
Privacy & Security
SubTopic:
Sign in with Apple
I'm looking to implement USB monitoring for FIDO2 authentication through a custom Authorization Plugin, specifically for the below ones.
This plugin applies to the following macOS authorization mechanisms:
system.login.console — login window authentication
system.login.screensaver — screensaver unlock authentication
The goal is to build a GUI AuthPlugin, an authorization plugin that presents a custom window prompting the user to "Insert your FIDO key”. Additionally, the plugin should detect when the FIDO2 device is removed and respond accordingly.
Additional Info:
We have already developed a custom authorization plugin which is a primary authentication using OTP at login and Lock Screen. We are now extending to include FIDO2 support as a primary.
Our custom authorization plugin is designed to replace the default loginwindow:login mechanism with a custom implementation.
Question: Is there a reliable approach to achieve the USB monitoring functionality through a custom authorization plugin? Any guidance or pointers on this would be greatly appreciated.
Why can’t sandboxed mac app store apps have full disk access available in the system settings for full disk access?
I discovered mac app store apps in release mode cannot access the ai auggie command line program and other command line programs like opengrep on your system. Debug builds fine.
I came up with a workaround: Since I have an ssh client built in for connecting to remote servers, why not connect to ssh on the same local machine… Ask the user for their username and password in a popup.
To do this, you have to enable remote login on your mac in system settings -> sharing.
In addition you must grant full disk access to cli ssh in system settings: add /usr/libexec/sshd-keygen-wrapper
It all works, but I don’t see the cli program in mac settings. To remove the cli program you must run a command line program to remove all full disk access support from all apps. No way to just undo ssh.
So my question is, even though I got CodeFrog all working for a mac app store release, should I not do it because it’s insecure or too complicated with the system settings? Should I instead sell the app off the store like Panic Nova?
Need some advice. I have not implemented in app purchases yet. Should I just have a reality check and sell the app off the store, or try for app store approval?
Bummer…
Maybe I’m ahead of my time, but perhaps Apple could review the source code for apps requesting full disk access and make sure there’s nothing fraudulent in them. Then, developer tools app store apps could be in the store with the user’s assurance that nothing is happening behind the scenes that is scary.
From: https://blog.greenrobot.com/2025/11/10/i-have-a-decision-to-make/
Related post:
https://developer.apple.com/forums/thread/806187
I submitted a code level tech support question for this. They directed me here.