500 ARTICLES

All guides · Page 7

Browse by topic, or search for a specific concept, tool or platform.

Android components1 min

Trust boundaries in Android Intent redirection

Launching an Intent received from another application can process external input with your application's privileges.

Read the guide
Android components1 min

ContentProvider access and data exposure

ContentProvider can expose application data to other processes. Excessive access can disclose personal information despite strong code protection.

Read the guide
Android components1 min

Narrowly scoped file sharing with FileProvider

Sharing should expose the document a recipient needs, not the application's entire filesystem. FileProvider helps manage that boundary.

Read the guide
Android components1 min

BroadcastReceiver and incoming-message validation

Receiving a broadcast does not make its content trustworthy. Receivers that initiate sensitive work need source and authorization checks.

Read the guide
Android components1 min

Bound Service security and caller authorization

Bound services expose functions across applications. Exporting a service creates a need for access checks on its methods too.

Read the guide
Android components1 min

Signature-based trust with Android custom permissions

Custom permissions restrict component access under defined conditions. Naming a permission does not establish the correct protection level.

Read the guide
Android components1 min

Limiting sensitive data in the Android clipboard

Copied content leaves the application's screen boundary. The clipboard is unsuitable storage for session tokens, secret keys or persistent credentials.

Read the guide
Android components1 min

Minimizing data in Android notifications

Notifications may appear on lock screens, connected devices or history. Protecting the application screen does not protect every copy.

Read the guide
Android components1 min

How scoped storage affects application data

Storage location determines which applications and user actions can reach data. Scoped storage is part of that access model.

Read the guide
Android components1 min

Document permissions with the Storage Access Framework

Selecting a document grants access to a resource, not unrestricted trust in its contents. Treat the returned URI as external input.

Read the guide
Android components1 min

Protection boundaries in Room databases

Room organizes data access; it does not automatically encrypt the database. Assess why each sensitive field must be stored.

Read the guide
Android components1 min

Is DataStore a secure secrets vault?

DataStore manages small application datasets. Convenient preference storage does not automatically make it suitable for tokens or cryptographic keys.

Read the guide
Android components1 min

Checking Logcat for sensitive information

Logs aid development but create another exposure surface when they contain headers or personal data. Define production logging policy explicitly.

Read the guide
Android components1 min

Checking debuggable in release packages

Development settings can broaden inspection and tampering access if shipped. Check the final manifest, not only the source file.

Read the guide
Android components1 min

Reducing Android cleartext traffic exceptions

Unencrypted connections expose data to observation or modification. One legacy endpoint can affect a sensitive flow.

Read the guide
Android components1 min

WebView file access and local content

Combining local files and remote content in a WebView can blur trust boundaries. Restrict file settings to actual needs.

Read the guide
Android components1 min

Origin validation for WebView messages

Web content that can call native functions has substantial power. Missing origin validation can expose that power to unintended content.

Read the guide
Android components1 min

Package visibility and Android security SDKs

Android limits what applications can query about other installed packages. These rules affect security SDK detection coverage.

Read the guide
Android components1 min

Safe, usable behavior after permission denial

Permission refusal requires both a security decision and a usable product flow. Refusal alone is not an attack signal.

Read the guide
Android components1 min

Binding BiometricPrompt to a cryptographic operation

A successful biometric dialog and biometric authorization of key use provide different security properties. That distinction matters for sensitive actions.

Read the guide
Android components1 min

Data boundaries between work and personal profiles

Work profiles help separate enterprise applications and data from personal use. Sharing flows must preserve that boundary.

Read the guide
Android components1 min

Security in Android tasks and activity flows

Task stacks and activity launches affect which screen users see and in what context. Review more than the contents of individual screens.

Read the guide
Android components1 min

Safe paths when extracting archives

ZIP entry names are not trusted filesystem paths. Extraction must remain within the application's permitted destination.

Read the guide
Android components1 min

Trust boundaries in Android data parsing

Turning files, Intents or network data into application objects creates an attack surface. Constrain input before it reaches the parser.

Read the guide
Android components1 min

Memory safety in Android native code

JNI and native libraries can improve performance while introducing memory-management risks. Managed-code checks do not automatically cover them.

Read the guide
iOS data and lifecycle1 min

Choosing Keychain accessibility classes

When a Keychain item can be read is part of iOS app protection. Background work on a locked device may need different conditions from an interactive secret.

Read the guide
iOS data and lifecycle1 min

Limiting Keychain access-group sharing

Keychain groups allow applications to share secrets and therefore a trust boundary.

Read the guide
iOS data and lifecycle1 min

Cleaning up Keychain items on logout

Logout involves more than changing the screen. Coordinate local records, server sessions and background work.

Read the guide
iOS data and lifecycle1 min

iOS keys after biometric enrollment changes

Enrollment changes can affect sensitive-key access. Handle them as a defined lifecycle event rather than a generic error.

Read the guide
iOS data and lifecycle1 min

Limits on Secure Enclave key use

Secure Enclave provides a strong boundary for supported key operations. It does not automatically contain every application secret or key type.

Read the guide
iOS data and lifecycle1 min

iOS file protection classes and device lock state

File protection defines how data access relates to device locking. Derive the required access window from the product flow.

Read the guide
iOS data and lifecycle1 min

Sensitive screens in the iOS app switcher

Backgrounding can leave private information in app-switcher previews. Assess screens containing balances or personal documents.

Read the guide
iOS data and lifecycle1 min

Realistic expectations for iOS capture detection

Recording and mirroring can carry data outside the application. Detectable conditions and preventable conditions are not identical.

Read the guide
iOS data and lifecycle1 min

iOS pasteboard and sharing decisions

Pasteboard convenience moves data beyond the application's boundary. Automatically copying persistent secrets is a poor default.

Read the guide
iOS data and lifecycle1 min

Secrets and content in notification extensions

A notification extension runs outside the main application's execution context. Review its data, keys and endpoints separately.

Read the guide
iOS data and lifecycle1 min

Limiting data in iOS widgets

Widgets display information without opening the application. This creates a wider display surface and a separate refresh lifecycle.

Read the guide
iOS data and lifecycle1 min

Safely handling Share Extension input

Shared content comes from another application. Treat filenames, type metadata and lengths as untrusted.

Read the guide
iOS data and lifecycle1 min

Sessions and data in iOS background transfers

Transfers may continue while the app is not visible. Logout and access changes must be reflected in ongoing work.

Read the guide
iOS data and lifecycle1 min

Sensitive responses in URLCache

Caching can improve performance while retaining sensitive responses longer than expected. Set policy by data class.

Read the guide
iOS data and lifecycle1 min

WKWebView cookies and web-data cleanup

A WebView session can outlive the main application's session. Persistent web login after native logout can mix account data.

Read the guide
iOS data and lifecycle1 min

Validating custom URL schemes on iOS

Custom schemes create application entry points. Validate parameters and authority for the requested operation separately.

Read the guide
iOS data and lifecycle1 min

Associated Domains and application relationships

Associated Domains establishes specific platform relationships between apps and domains. Excessive scope can route unexpected links into the application.

Read the guide
iOS data and lifecycle1 min

LAContext lifetime and reauthentication

The lifetime of local authentication is a security and usability choice. An old success result should not grant unlimited authority.

Read the guide
iOS data and lifecycle1 min

Sensitive-data scope in iCloud synchronization

Synchronization moves local information to other devices and cloud services. Revisit assumptions that data stays on one phone.

Read the guide
iOS data and lifecycle1 min

Choosing files to exclude from iOS backups

Backups help users recover, but unnecessary sensitive or reproducible files create extra copies.

Read the guide
iOS data and lifecycle1 min

Personal data in iOS crash reports

Diagnostics need context, but usually not user messages or access tokens. Choose the reporting schema deliberately.

Read the guide
iOS data and lifecycle1 min

Security and data boundaries in App Clips

A short, fast App Clip task still needs authorization and input validation. Define its relationship with the full application.

Read the guide
iOS data and lifecycle1 min

Production data in TestFlight builds

TestFlight enables real-device testing, not unrestricted production-data access. Separate accounts and environments.

Read the guide
iOS data and lifecycle1 min

Session consistency across multiple iOS scenes

An application can have multiple windows or scenes. Logging out in one must not leave sensitive content visible in another.

Read the guide
iOS data and lifecycle1 min

Data surfaces in sensitive iOS text input

For passwords and secrets, consider keyboards, autofill and diagnostics as well as visible text. Fields should reflect data sensitivity.

Read the guide