TL;DR: Native device attestation on iOS, Android, and HarmonyOS improves mobile trust but still leaves gaps around platform fragmentation, unsupported devices, embedded secrets, and advanced evasion, according to Approov. The practical shift is toward layered app attestation, attestation-gated secrets, and backend enforcement rather than a single device signal.
At a glance
What this is: This is an analysis of why native mobile attestation is useful but insufficient, with the key finding that cross-platform, secret, and evasion gaps still weaken API protection.
Why it matters: It matters because mobile API security teams need to govern app trust, secret delivery, and backend enforcement as one control plane rather than assuming device integrity alone is enough.
Context
Mobile app security now depends on whether the app, the device, and the backend can all establish trust at runtime, not on whether the app came from an official store. Native hardware attestation helps, but it does not eliminate secret exposure, platform fragmentation, or the operational need to decide what to do with unsupported or lower-assurance devices.
That creates a governance problem as much as a technical one. Security teams need a policy for app authenticity, device integrity, secret delivery, and backend enforcement that still works when attestation fails, devices lack a TEE, or attackers manipulate the attestation path.
This is especially relevant where mobile apps protect APIs or sensitive data. The article's core argument is that mobile trust should be treated as layered evidence, not a single binary check.
Key questions
Q: What breaks when mobile attestation is treated as the only trust signal?
A: The control breaks at the point where the device signal is separated from secret custody and backend enforcement. A clean attestation result does not stop credential extraction, emulator abuse, or local tampering, so the trust decision becomes too easy to spoof. Mobile security needs layered evidence, not a binary device check.
Q: Why do embedded API keys create risk even when attestation succeeds?
A: Because attestation proves something about the environment, not about whether the app binary contains extractable credentials. If a key is hardcoded, anyone who can decompile the app can copy it and reuse it elsewhere. The safe pattern is runtime-issued secrets with short lifetimes and backend policy enforcement.
Q: How can security teams measure whether mobile app attestation is working?
A: Look for blocked requests from repackaged clients, fewer anomalous device fingerprints, and lower success rates for scripted API abuse. A good attestation control should reduce the number of requests that reach sensitive backend actions, not just generate alerts. If suspicious clients still complete high-risk transactions, the control is too weak.
Q: What is the difference between hardware attestation and software attestation in mobile security?
A: Hardware attestation checks platform-backed device signals such as TEE-backed integrity evidence, while software attestation checks the running app instance, often by analysing live memory and code state. Hardware evidence is useful but easier to fragment across ecosystems. Software attestation helps close the gap when the device signal is spoofed or unavailable.
Technical breakdown
Why native attestation fragments across mobile ecosystems
Native attestation frameworks are platform-specific trust signals. Google Play Integrity, Apple App Attest, and Huawei-related key management all expose different APIs, token formats, and backend validation logic, which means a cross-platform app cannot rely on one verification path. The root issue is not only engineering overhead. Fragmented attestation creates inconsistent policy enforcement, making it harder to express a uniform security decision across device classes, operating systems, and assurance levels. Practical implication: standardise backend policy around a single decision layer that can consume multiple attestation sources without duplicating enforcement logic.
Practical implication: standardise backend policy around a single decision layer that can consume multiple attestation sources without duplicating enforcement logic.
Why attestation does not solve embedded secret exposure
A successful attestation result only proves something about the current environment and selected device properties. It does not stop an attacker from extracting API keys or other secrets that are embedded in the app binary, because those credentials still exist in code distributed to the user. In mobile security terms, this is the classic separation between trust evidence and credential custody. If the app itself carries reusable secrets, reverse engineering becomes the simplest path to abuse. Practical implication: move secrets out of static binaries and gate issuance on runtime evidence rather than distributing reusable credentials with the app.
Practical implication: move secrets out of static binaries and gate issuance on runtime evidence rather than distributing reusable credentials with the app.
How software attestation closes the gap when hardware signals fail
Software attestation adds an execution-time check on the app's live memory and code state, which is different from trusting a device's self-reported hardware signal. That matters when an attacker uses emulation, hooking frameworks, boot manipulation, or low-level exploits to make a compromised device appear clean. A cloud-side decision point is also important because it reduces the chance that enforcement logic can be patched locally. Practical implication: treat cloud-side software attestation as the fallback control when hardware attestation coverage or integrity is uncertain.
Practical implication: treat cloud-side software attestation as the fallback control when hardware attestation coverage or integrity is uncertain.
Threat narrative
Attacker objective: The attacker aims to make an untrusted app instance look trusted long enough to reach APIs, extract secrets, and abuse backend access.
- Entry occurs when an attacker runs the mobile app on a compromised device, emulator, or reversed binary and targets the attestation path rather than the user account directly.
- Credential harvesting or abuse follows when hardcoded API keys or reusable backend secrets are extracted from the app binary or bypassed through weak enforcement.
- Escalation happens when the attacker forges or spoofs a clean attestation signal with hooking, emulation, or extracted device materials such as a valid keybox.xml.
- Impact is unauthorized API use, backend abuse, or exposure of sensitive user data through a mobile trust chain that treated one signal as sufficient.
Breaches seen in the wild
- iOS apps leaking hard-coded secrets: Cybernews found 71% of 156,080 iOS apps leak hard-coded secrets, with open cloud storage and Firebase databases exposing user data.
- Dropbox Sign breach 2024: A compromised back-end service account gave attackers Dropbox Sign customer data, including API keys, OAuth tokens and MFA information.
Read and download The State of NHI & AI Agent Breach Report 2026, covering 200+ breaches impacting Non-Human Identities including AI Agents.
NHI Mgmt Group analysis
Mobile app trust has become a layered identity problem, not a device-only problem. Native attestation is useful evidence, but it is not equivalent to continuous application identity or backend trust. Once secrets, certificates, and tokens are distributed to mobile clients, the security question becomes how the backend decides whether to honour them. Practitioners should therefore treat app trust as a governed control plane spanning app, device, and API.
Cross-platform fragmentation creates attestation policy debt. Separate validation paths for Android, iOS, and HarmonyOS increase the chance that teams will implement inconsistent fallback rules, especially for unsupported devices or lower-assurance verdicts. That inconsistency becomes an access-control problem when developers are forced to choose between blocking legitimate users and allowing insecure bypasses. Practitioners should normalise policy logic above the platform layer.
Static secrets in mobile binaries are a governance failure, not just a coding mistake. If an API key can be extracted by decompiling the app, the organisation has already lost control of secret custody. This is the same structural problem seen in NHI governance when credentials persist longer than the trust signal that justified them. Practitioners should move from embedded secrets to runtime-issued access.
Software attestation is a named control concept worth carrying forward: runtime trust verification. The article shows why the decisive check is often not what the device claims, but what the live app instance is doing in memory. That shifts mobile security closer to continuous verification and away from one-time device approval. Practitioners should build policy around runtime evidence, not platform reputation alone.
Hardware assurance and backend enforcement must be designed as a single operating model. The article makes clear that device trust, secret delivery, and certificate pinning fail when treated as separate projects. The operational lesson is to align mobile security architecture with API governance so that access decisions can survive spoofing, unsupported hardware, and local tampering. Practitioners should enforce the decision in the cloud, not on the client.
From our research library:
- Only 44% of developers are reported to follow security best practices for secrets management, exposing a significant developer behaviour gap, according to the State of Secrets in AppSec.
- Read next: AI Infrastructure Workload Identity Guide
What this signals
Runtime trust verification is now the more durable mobile security pattern. Native device attestation remains a useful input, but it cannot be the final authority when secrets, APIs, and trust decisions all converge at the client. Practitioners should move enforcement into the backend and assume that the app runtime, not just the device, must be verified before access is granted.
Mobile teams should also expect more policy friction as cross-platform support broadens. The real operational challenge is not whether attestation exists, but whether the organisation can keep one consistent access decision across supported, unsupported, and lower-assurance environments without creating insecure bypasses.
For practitioners
- Replace embedded API keys with attestation-gated secret delivery Issue secrets only after a runtime trust decision succeeds, and keep them short-lived so the app binary never contains reusable backend credentials.
- Unify mobile trust policy across supported platforms Create one backend policy layer that consumes Android, iOS, and HarmonyOS attestation outputs instead of maintaining separate verdict handling in each integration path.
- Define explicit fallback rules for unsupported or low-assurance devices Document whether the app blocks, degrades, or uses an alternate verification path when GMS is absent, a TEE is unavailable, or the attestation tier is weak.
- Add cloud-side software attestation for runtime validation Use live memory and code-state checks to detect hooking, emulation, and tampering when hardware attestation is spoofed or unavailable.
- Pin mobile connections and enforce verification at the API gateway Bind the app to the intended server and make the gateway reject requests that do not arrive with valid attestation evidence and policy-approved tokens.
Key takeaways
- Native attestation improves confidence in mobile app requests, but it does not eliminate the need for secret custody, backend policy, and runtime validation.
- Platform fragmentation and unsupported devices create policy gaps that attackers can exploit if teams rely on one attestation path.
- The strongest control pattern is layered evidence, with cloud-side enforcement and runtime attestation closing the gaps left by hardware signals.
Standards & Framework Alignment
This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.
OWASP API Security Top 10 addresses the attack and risk surface, while NIST CSF 2.0 and NIST SP 800-53 Rev 5 set the governance and control requirements practitioners need to meet.
| Framework | Control / Reference | Relevance |
|---|---|---|
| OWASP API Security Top 10 | API2 — Broken Authentication | The article centers on mobile app authentication evidence used before API access is granted. |
| API8 — Security Misconfiguration | Fragmented platform validation and weak fallback handling create inconsistent security enforcement. | |
| Recommendation — Treat attestation as an API authentication input and reject requests that cannot prove app integrity. Eliminate platform-specific attestation drift by centralising validation and fallback policy. | ||
| NIST CSF 2.0 | PR.AA-05 — Access Permissions, Entitlements and Authorizations | Backend access decisions depend on whether the client request is trusted enough to receive API access. |
| Recommendation — Align access decisions with verified runtime evidence before granting API entitlements. | ||
| NIST SP 800-53 Rev 5 | IA-5 — Authenticator Management | The article discusses secret delivery, rotation, and the dangers of embedded API keys. |
| IA-9 — Identification and Authentication (Non-Organizational Users) | Mobile apps and their backend communications require machine and application authentication controls. | |
| Recommendation — Use IA-5 to govern secret issuance, rotation, and revocation instead of embedding reusable keys. Apply IA-9 to authenticate app-originated requests with non-human identity evidence. | ||
Key terms
- Device Attestation: Device attestation is the process of checking whether a device and its software environment meet expected integrity conditions before trust is extended. For identity workflows, it should support the verification decision, not replace stronger evidence about whether the capture stream itself is authentic.
- Software Attestation: A mechanism for verifying that software of known origin and expected order is running before access is allowed. It gives infrastructure teams evidence that the requesting environment has not drifted from a trusted baseline.
- Attestation-Gated Secret Delivery: Attestation-gated secret delivery is the practice of releasing secrets only after a trust check succeeds. It reduces the value of hardcoded credentials because the app does not permanently carry reusable backend access, and the secret can be short-lived and conditional on runtime evidence.
- Certificate Pinning: A trust control that restricts a client to a specific certificate authority, public key, or certificate for a given connection. It can reduce exposure to unexpected certificates, but it also makes trust changes harder because the client may reject valid replacements after rotation or revocation.
Deepen your knowledge
NHI Foundation Level course, the industry's only accredited NHI security programme, covers NHI governance, machine identity security, and secrets management. It helps practitioners connect identity controls to the broader access decisions their programmes depend on.
Published by the NHIMG editorial team on October 16, 2026.
NHI Mgmt Group, the independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org