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!
Sign in with Apple
RSS for tagDiscuss how to provide users the ability to sign in to your apps and websites using their Apple ID.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
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,
I’m trying to remove the “Sign in with Apple” for my app via the iOS settings (also tried on a Mac, and on the web via account.apple.com).
When I tap “Stop Using”, nothing happens, the dialog disappear but the app remains listed.
Someone said on a forum that the issue is linked with the ServiceId that doesn't exist anymore. But how to recover it ? And anyway this behavior is unintended and creates a gap in the process.
Has anyone experienced this before? Is there a known fix, or should I contact Apple Support directly for server-side revocation?
Thank you!
Topic:
Privacy & Security
SubTopic:
Sign in with Apple
I’m trying to update the Domains and Redirects section for my Services ID configuration in Apple Developer (for Sign in with Apple).
When I add new domains and click Save, nothing happens. In the browser console, I see a network request that fails with:
PATCH not supported
What I’ve tried so far:
Logging out/in and refreshing the page
Clearing browser cache and cookies
Trying in Safari, Chrome, and incognito mode
Verifying domain formatting (HTTPS, no trailing slash, domain is live)
The issue persists in all browsers I’ve tested.
Request:
Is this a known issue with the Developer portal, or is there an alternative method to update my Services ID domains? Any guidance would be appreciated.
Thanks,
Would really appreciate support with this invalid_client issue:
I have a web app and have aligned the JWT Header and Payload
JWT Header
{
"alg": "ES256",
"kid": "ABC123DEFG"
}
JWT Payload
{
"iss": "DEF123GHIJ",
"iat": 1234567890,
"exp": 1234567890,
"aud": "https://appleid.apple.com",
"sub": "com.yourapp.service"
The domains and callback are aligned and correct
I've even created a new p8 and updated the Key_ID
Sending Credentials to Apple (Token Request) Content-Type: application/x-www-form-urlencoded
However, still no luck. Can anyone assist with identifying the possible error?
Many thanks
Topic:
Privacy & Security
SubTopic:
Sign in with Apple
Tags:
Sign in with Apple REST API
Sign in with Apple
Sign in with Apple JS
I'm experiencing an issue with Sign In with Apple integration in my React Native Expo app (Bundle ID: com.anonymous.TuZjemyApp).
Problem Description:
When users attempt to sign in using Sign In with Apple, they successfully complete Face ID/password authentication, but then receive a "Sign-Up not completed" error message. The authentication flow appears to stop at this point and doesn't return the identity token to my app.
Technical Details:
Frontend Implementation:
Using expo-apple-authentication.
Requesting scopes: FULL_NAME and EMAIL
App is properly configured in app.json with:
usesAppleSignIn: true
Entitlement: com.apple.developer.applesignin
Backend Implementation:
Endpoint: POST /api/auth/apple
Using apple-signin-auth package for token verification
Verifying tokens with audience: com.anonymous.TuZjemyApp
Backend creates/updates user accounts based on Apple ID
Question:
I'm not sure why the authentication flow stops with "Sign-Up not completed" after successful Face ID verification. The identity token never reaches my app. Could you please help me understand:
What might cause this specific error message?
Are there any additional Apple Developer Portal configurations required?
Could this be related to app capabilities or entitlements?
Is there a specific setup needed for the app to properly receive identity tokens?
I set up provisioning profiles, and added Sign in with Apple as a capability and still it doesn't work.
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!
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
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?
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?
I’m using Sign in with Apple in my iOS app.
When a user chooses “Hide My Email”, I receive the @privaterelay.appleid.com relay address. For marketing reasons, I would prefer to have the user’s real email address instead of the relay email.
I want to stay compliant with App Store Review and the Sign in with Apple design/UX requirements.
My questions are:
Is it allowed to force the user (as part of the registration process) to provide their real email address, even if they chose “Hide My Email” during Sign in with Apple?
Are there any specific App Store Review guidelines that forbid:
Blocking sign up or access to features if the user keeps the relay email, or
Showing a strong prompt like “We can’t log you in unless you share your real email”?
What is the recommended, compliant pattern for collecting a “real” email when using Sign in with Apple + Private Relay?
I’d appreciate any official clarification or examples of what App Review considers acceptable vs. reject-worthy here.
Topic:
Privacy & Security
SubTopic:
Sign in with Apple
Hi everyone,
I am currently implementing Server-to-Server Notifications for Sign in with Apple. I’ve encountered a discrepancy between the official documentation and the actual payload I received, and I would like to clarify which one is correct.
The Situation: I triggered an account deletion event via privacy.apple.com to test the notification flow. When my server received the notification, the type field in the JSON payload was account-deleted (past tense).
The Issue: According to the official Apple documentation, the event type is listed as account-delete (present tense).
Here is the discrepancy I am observing:
Documentation: account-delete
Actual Payload: account-deleted
My Question: Is the documentation outdated, or is this a known inconsistency? Should I handle both strings (account-delete and account-deleted) in my backend logic to be safe, or is account-deleted the new standard?
Any insights or confirmation from those who have implemented this would be greatly appreciated.
Thanks!
"I am attempting to read and write data to an Office Group Container, and I am consistently prompted with the "App would like to access data from other apps" alert. How can I configure the application or environment to suppress this repeated permission prompt?"
Ich habe Tahoe 26.2. installiert und bekomme nun keine Verbindungen zu externen Geräten (Keyboard, Synthesizer). KI gefragt und Antwort bekommen: Tahoe ist keine macOS-update und existiert nicht. Was ist die Wahrheit?
Issue with passport-apple: req.user Returning Undefined Data & Callback URL Issue
I am facing an issue with passport-apple where, after successful authentication, the callback function does not receive the expected user data. Instead, req.user contains undefined values, and there seems to be an issue with the callback URL handling.
Steps to Reproduce
I have configured passport-apple with the following strategy:
passport.use(
new AppleStrategy(
{
clientID: process.env.APPLE_CLIENT_ID,
teamID: process.env.APPLE_TEAM_ID,
keyID: process.env.APPLE_KEY_ID,
privateKeyLocation: path.join(__dirname, 'Auth.p8'),
callbackURL: process.env.APPLE_CALLBACK_URL,
scope: ['name', 'email'],
passReqToCallback: true
},
async (req, accessToken, refreshToken, idToken, profile, done) => {
try {
const decoded = jwt.decode(idToken);
const user = {
id: decoded?.sub || null,
email: decoded?.email || null,
name: profile?.name?.firstName || 'Unknown'
};
const userApp = await authController.handleAppleAuth(user.email, accessToken, refreshToken);
done(null, userApp);
} catch (error) {
return done(error);
}
}
)
);
Observed Behavior
Apple login succeeds, and an existing user is found in the database.
However, req.user contains undefined values after authentication.
The callback URL does not seem to function correctly, leading to potential misrouting or incomplete authentication flow.
Expected Behavior
req.user should contain the authenticated user's ID, email, and name.
The callback URL should properly handle the authentication response.
Actual Behavior
req.user contains undefined values instead of valid user data, and the callback URL handling seems to be incorrect.
Log Output:
{
id: '001412.13cccc5062074c35833683f6f0bcf5f6.1212',
email: 'xyz@somemail.com',
name: 'Unknown'
} user
checking redirectionn [Function: next]
📍 Processing Apple callback
📍 Authentication successful for user: { id: undefined, email: undefined }
{
id: undefined,
email: undefined,
firstName: undefined,
lastName: undefined,
subscriptionStatus: undefined
}
Topic:
Privacy & Security
SubTopic:
Sign in with Apple
After the App transfer is initiated, will the replacement of the old and new certificates affect user authorization? (Based on some replies from DTS on the forum [Apple login authorization data is generated in combination with the team ID to which the App currently belongs], it is speculated that after the App transfer, during the period when the certificate configuration of the new team ID is not completed, authorization or authentication may not be performed normally, resulting in users being unable to use the Apple login function normally)
During the 60-day migration period, if the user authorizes or cancels authorization and then authorizes again in the old app, will the authorized data be different? If so, will transfer_sub be included in the authorization operation?
Hi,
My app keeps getting rejected during App Review with the reason that the Sign in with Apple button is unresponsive. However, I have tested it extensively on:
• A real iPad Pro (iPadOS 18.3.2)
• Multiple Xcode simulators
• Including an iPad Air 5th simulator (18.3.1)
In all of these cases, the button works correctly.
The reviewer mentioned they are using an iPad Air 5th running iPadOS 18.3.2, which I cannot find as a simulator in Xcode, nor do I have access to this exact device around me.
I’m using standard SignInWithAppleButton code with no custom wrappers or UI layers on top. Here is the relevant snippet:
GeometryReader { geometry in
ZStack {
Color.black.opacity(0.3)
.ignoresSafeArea()
.onTapGesture {
prompt = ""
showChat = false
}
VStack(alignment: .leading, spacing: 0){
switch purchaseManager.hasAISubscription {
case 1:
HStack{
}
case 2:
HStack{
}
case 3:
HStack{
}
default:
HStack{
}
}
Divider()
ScrollView {
VStack(alignment: .leading, spacing: 8) {
ForEach(filteredChatHistory, id: \.id) { chat in
}
}
Spacer()
}
.frame(maxHeight: geometry.size.height * 0.7)
.defaultScrollAnchor(.bottom)
.padding()
Divider()
HStack(){
if httpManager.isLoggedIn && purchaseManager.hasAISubscription > 0 {
}
}
else if purchaseManager.hasAISubscription == 0{
}
else{
Spacer()
SignInWithAppleButton(.continue){ request in
request.requestedScopes = [.email]
} onCompletion: { result in
switch result {
case .success(let auth):
switch auth.credential {
case let appleCredential as ASAuthorizationAppleIDCredential:
let userID = appleCredential.user
saveToKeychain(userID, for: "com.xing-fu.aireader.apple.userid")
if let identityTokenData = appleCredential.identityToken,
let identityToken = String(data: identityTokenData, encoding: .utf8) {
Task {
//后端认证过,才算登录成功
await httpManager.loginWithApple(identityToken)
}
}
break
default:
break
}
case .failure(let error):
print("error")
}
}
.frame(maxWidth: 350, maxHeight: 40)
.padding()
.cornerRadius(10)
Spacer()
}
}
}
.overlay( // 边框
RoundedRectangle(cornerRadius: 10)
.stroke(Color.g2, lineWidth: 4)
)
.background(Color(UIColor.systemBackground))
.cornerRadius(10) // 圆角
.shadow(color: Color.black.opacity(0.1), radius: 5, x: 0, y: 5)
.frame(width: geometry.size.width * 0.8)
.onDisappear{
httpManager.alertMessage = nil
}
}
}
Topic:
Privacy & Security
SubTopic:
Sign in with Apple
I have implemented "Sign in With Apple" in my app , but problem is when user logged in initially or first time and email I can retrieve , name and email but after that when i tried to re login it is giving null value for name and email, why it is happening and what should be done here?
Topic:
Privacy & Security
SubTopic:
Sign in with Apple
Dear Apple Support Team,
I hope this message finds you well.
Our tech team is currently working on integrating the Apple Sign-In feature, and we have a specific query where we would appreciate your guidance.
Background Context:
We have several applications across different brands and are aiming to implement a unified sign-up and sign-in experience. Currently, we are utilizing a shared website to enable single sign-in functionality across all these applications.
Our Query:
If we embed the same website in all of these applications and implement the Apple Sign-In within this website—using a dedicated Service ID that is configured with the App Store name and icon—will users consistently see the Apple Sign-In pop-up with the Service ID’s name and icon, regardless of which base application (e.g., App A, App B, etc.) the website is accessed from?
We would like to ensure a seamless and consistent user experience and want to confirm that the branding within the Apple Sign-In prompt will reflect the Service ID’s configuration, rather than that of the hosting app.
Looking forward to your guidance on this matter.
Is it possible to change the Primary App ID set in the Group with an existing primary App ID to another Primary App ID within the same group
If there is a change, whether the sub values of the token will be changed upon successful login
If an app corresponding to the existing Group Primary App ID is deleted from the app store, ask whether or not other apps in the same group are affected and what effect it will have
If anyone knows about the above, please let me know please