As we prepared for our trip to Perth, Australia, we applied for ETAs for the three of us. The ETA process turned into a mini-nightmare for one of my kids.
For me and the younger sibling (five years old), the process was OK. The live photo took a few attempts, but it eventually went through. The ETA was paid and granted quickly.
For my 10-year-old daughter, however, we tried hundreds of times with different hairstyles, different walls, and different lighting environments, and the app always returned:
I was confident the camera wasn’t the problem—I used the same iPhone 15 Pro (a perfectly good camera in 2025) that had just worked for my own application.
As an iPhone app developer, I’m pretty sure that message is generic and doesn’t reveal the real reason for the failure.
I even tested connectivity as a sanity check. Turning off Wi-Fi or mobile data caused the submission to fail differently, and with both off it returned a clear “cannot submit” error. That strongly suggests the live photo is uploaded for server-side comparison.
Later on, I sniffed the network to understand what they sent to the server, and the response for the selfie photo.
ETA Reply
I also emailed support for help. The following is their reply the next day:
Please ensure that when scanning the passport that there is no glare on the passport photo as this can affect the comparison with the “selfie” photo.
If at all possible, please try to ensure that you get a chip read of the passport as this is the best possible passport photo image.
It is important that the passport can be scanned successfully as the face capture photo is compared to the scanned image.
When taking the “selfie” please ensure that you stand in front of a plain background and the lighting is good without any glare or reflections.
Some customers report success in taking the “Selfie” in front of their bathroom mirror, as the lighting is usually optimal in this location.
There is a comparison with the passport photo
So yes—the live selfie photo is compared with the passport photo. Interestingly, a high-quality version is stored in the passport chip.
That makes sense for security, but it’s brittle for families: what if the child’s face changes (growth spurts, braces, pimples), expressions differ, or one eye is swollen that day?
And if the original passport photo wasn’t great for matching, the app may refuse perfectly sharp selfies.
Anyway, I tried ReadID Me, and it reliably loaded the passport photo. That will be useful to recreate the same face, or so I thought.
Alternative: Pay $200 for a visa
Unfortunately, the mobile app appears to be the only way to submit an ETA—no web option, no in-person workaround.
We were planning a fallback: apply for a different visa type (e.g., eVisitor), but be prepared to pay $200 instead of $20. We were also concerned about the waiting time for the visa, as our flight is in a week’s time.
How I sniffed the ETA network response
I wanted to verify whether the selfie step was actually passing, so I captured the app’s API traffic and inspected the JSON response.
I found out they send the photo to https://mobile.eta.homeaffairs.gov.au/eta/biometrics/faces/analyze and they are using the Aware library. My response JSON turned out to be fine.
"liveness_result": {
"feedback": [],
"score": 100,
"decision": "LIVE",
"score_frr": 0.7769835690883371
},
"preface_metrics_result": [
{
"category": "FACE_CHARACTERISTICS",
"complianceStatus": "OK",
"name": "POSE_ANGLE_YAW",
"score": 2.1416707
},
...
]
The decision is LIVE
and the score is 100
! I even tried using a still photo, and I know they will detect it as SPOOF
.
That confirmed the selfie capture and liveness were fine; the failure must be after capture (i.e., in the comparison stage).
Finally, the fix with an Android
After ~200 attempts on three different iPhones, I borrowed an Android phone from my brother, and it worked even in darker, sunset lighting. 🎉😭😭
Finally, after making my 10-year-old worry and cry for two days, it is likely an iOS-specific bug, most likely in the comparison stage:
- The local/server comparison may be brittle on certain captures.
- iOS may be failing to read or decode the passport chip portrait (DG2) that the server expects—e.g., JPEG 2000 interop has known edge cases.
I know we’re not alone with this crazy bug; there are plenty of Reddit and Facebook threads from people hitting the same wall.
It still surprises me that their iPhone app is rated 4.9. 😤