Android and iOS

Should the device or server make a protection decision?

Scope, trust models and the layers of application protection.

Protection foundations1 min readEditorial methods

Local decisions provide a quick response. Server decisions combine account details, history and transaction context. A sound design uses the different capabilities of both.

Evaluation approach

The device may be able to close a sensitive screen. The backend must enforce decisions that create lasting consequences, such as moving money.

Application example

When the application detects a risky environment, it adds verifiable context to the transaction request. The server does not rely solely on a safe or unsafe label supplied by the client.

Limits and considerations

Define offline restrictions in advance. Automatically treating a lost connection as an attack can affect legitimate users.

Two sides of enforcement

A local response can quickly change the user experience by closing a sensitive screen or preventing a new operation from starting. The server must enforce the remote financial outcome. A client-supplied allow or deny field cannot be the final authority.

When the server rejects an operation, the client also needs to show an understandable state. Disabling a button alone can create accessibility and support problems. Design the decision code, transaction status and safe retry path together so technical investigation and user communication remain consistent.

Checks and decisions

  • Define offline coverage
  • Bind the signal to the request
  • Measure waiting time

Sources

The primary references above provide the technical basis. Example workflows and evaluation suggestions are this publication’s explanations, not independent test results for a particular product.