The short answer
Fail-open and fail-closed are not application-wide settings. Each dependency and business action needs a response based on safety, transaction value, confidence, recoverability, and legal or accessibility duties.
The strongest implementations of Fail Open vs Fail Closed in Mobile RASP make evidence, ownership, and failure behavior explicit. Create a degradation matrix for absent signals, network timeout, invalid evidence, policy outage, and internal protection error; include restricted and step-up states between allow and deny.
A blanket fail-closed policy converts a telemetry outage into a customer outage and may encourage emergency disabling of the entire control. Build policy around this limitation instead of burying it in implementation notes.
Where it fits in a Mobile RASP program
A durable Mobile RASP architecture separates observation, decision, and enforcement. The app can collect high-value runtime evidence, but the backend should verify signed or attested claims, combine them with transaction context, and own irreversible decisions.
For this topic, application context matters more than a universal device label. Teams should document how the evidence changes the risk of a particular operation, then keep the final authorization at the most trustworthy layer available.
- Define the boundary between device evidence and server authority
- Design explicit states for normal, elevated-risk, restricted, and unavailable conditions
- Preserve service reliability when telemetry or attestation dependencies degrade
A practical design model
1. Define the protected outcome
Start with the secret, privilege, transaction, content, or user action at risk. Describe what an attacker must achieve and which part of that path occurs inside the mobile process. Create a degradation matrix for absent signals, network timeout, invalid evidence, policy outage, and internal protection error; include restricted and step-up states between allow and deny.
2. Collect evidence without overclaiming
A detector reports a condition; it does not report intent. Record where the evidence came from, how fresh it is, how easily it can be suppressed or forged, which other signals share the same underlying assumption, and how legitimate configurations can produce the same observation.
3. Separate local containment from remote authority
The app can hide a screen, withhold a local secret, request new evidence, or pause a workflow immediately. A trusted backend should still decide whether an account changes, money moves, a credential is issued, content is unlocked, or durable state changes. This separation limits the value of patching a local branch.
4. Respond in proportion to confidence and consequence
Useful response states include observe, refresh evidence, step up authentication, lower a transaction limit, disable one high-risk feature, revoke a session, route to review, or deny. Safe recovery and support paths are part of the security design, not an afterthought.
Evidence to document
| Layer | What a review should establish |
|---|---|
| Source | Identify which component produces the availability evidence and whether the client can forge it. |
| Binding | Tie app, account, session, request, challenge, build, and policy versions together where the risk requires it. |
| Decision | Keep facts separate from scores and retain an explainable policy result. |
| Degradation | Specify behavior for absent, stale, delayed, contradictory, and invalid evidence. |
Evidence discipline: retain the application build, protection version, policy version, platform, device class, request identifier, timestamps, and final backend outcome. Without that context, results cannot be reproduced or compared after the next release.
Implementation workflow
- 01Draw the end-to-end request
Give this step a named owner, an observable output, and a review date. Link it to the protected workflow rather than a generic security objective.
- 02Classify evidence by trust
Record the decision in a form that mobile, backend, product, security, and operations teams can verify independently.
- 03Bind context and freshness
Use release-equivalent conditions and retain enough context to repeat the work after an app, platform, policy, or protection update.
- 04Version policy and decisions
Define the failure and recovery behavior here; leaving it implicit transfers the decision to an outage or incident.
- 05Design degraded states
Give this step a named owner, an observable output, and a review date. Link it to the protected workflow rather than a generic security objective.
- 06Instrument and rehearse failure
Record the decision in a form that mobile, backend, product, security, and operations teams can verify independently.
How to validate it
Validation should prove more than the presence of code. Use the final protected artifact, a written authorization boundary, and a test environment that can observe both the application and server. Attempt the expected technique, vary the method, and record whether the valuable outcome remained possible.
- Exercise signal loss, latency, replay, and policy-service outages.
- Verify that client-side outcomes agree with backend authorization.
- Measure privacy, performance, and availability budgets under peak load.
- Create a degradation matrix for absent signals, network timeout, invalid evidence, policy outage, and internal protection error; include restricted and step-up states between allow and deny.
Negative testing deserves equal weight. A control that detects the laboratory setup but blocks a measurable group of legitimate users may create more operational risk than it removes.
Common failure modes
Overstated evidence
A blanket fail-closed policy converts a telemetry outage into a customer outage and may encourage emergency disabling of the entire control.
Weak trust boundary
Using a binary trusted/untrusted model for ambiguous evidence. State the residual path and assign a corrective owner before enforcement.
Unmanaged user impact
Allowing the client to self-assert a clean state. State the residual path and assign a corrective owner before enforcement.
Production checklist
- The availability scope and protected business outcome are written down.
- Client evidence is treated as potentially observable, suppressible, and forgeable.
- Critical authorization remains on a trusted backend where connectivity and workflow allow.
- Signal provenance, confidence, freshness, and policy version are retained.
- Responses include a proportionate path between silent allow and permanent denial.
- Release-equivalent Android and iOS artifacts are tested on a representative matrix.
- False positives, accessibility, privacy, performance, and availability have owners and budgets.
- A monitored rollout, rollback path, incident procedure, and retest trigger are approved.
Questions the team should settle
- Which business loss does availability reduce, and how will that reduction be measured?
- Which properties can the app observe, which can the platform attest, and which must the backend decide?
- What happens when evidence is missing, stale, contradictory, or produced during a provider outage?
- Which legitimate devices, users, accessibility tools, or distribution channels could look unusual?
- How quickly can the team change policy or protection after a bypass or platform update?
Fail Open vs Fail Closed in Mobile RASP: frequently asked questions
What does availability mean in practice?
Fail-open and fail-closed are not application-wide settings. Each dependency and business action needs a response based on safety, transaction value, confidence, recoverability, and legal or accessibility duties. Create a degradation matrix for absent signals, network timeout, invalid evidence, policy outage, and internal protection error; include restricted and step-up states between allow and deny.
Can availability secure a mobile app by itself?
No. A blanket fail-closed policy converts a telemetry outage into a customer outage and may encourage emergency disabling of the entire control. Mobile RASP remains one part of secure application design, platform controls, backend authorization, monitoring, and an evidence-led testing program.
How should a team validate availability?
Use a release-equivalent protected build, reproduce the relevant condition under written authorization, observe the local signal and backend decision, run legitimate negative cases, and record residual risk with exact app, policy, device, OS, and tool versions.
What should happen when the related Mobile RASP signal fires?
The response should match signal confidence and the value of the action. Common choices are additional telemetry, fresh attestation, step-up authentication, transaction restriction, session containment, safe termination, or a documented recovery path. One noisy signal should rarely drive an irreversible decision on its own.
Primary sources and further reading
Mobile RASP prioritizes standards bodies, platform owners, and primary technical documentation. Commercial sources are labeled and used for implementation perspective, not treated as independent proof.
- OWASP MASTG: Runtime Application Self-Protection (RASP)OWASP Foundation
Definition, core capabilities, implementation approaches, and explicit limitations of Mobile RASP.
- NIST SP 800-218: Secure Software Development FrameworkNational Institute of Standards and Technology
Risk-based secure development practices across preparation, protection, production, and response.
- OWASP MASTG: Implementing Resilience and RASP SignalsOWASP Foundation
Practical guidance for distributing, combining, and handling runtime resilience signals.
- Play Integrity API overviewGoogle for Developers
Verdicts, request flows, replay protection, and response strategy.
- Establishing your app’s integrityApple Developer
App Attest enrollment and assertion flow for server-side verification of genuine app instances.