Documentation Index
Fetch the complete documentation index at: https://docs.newly.app/llms.txt
Use this file to discover all available pages before exploring further.
Permissions & Entitlements
Most permissions your app needs — camera, location, notifications, photos — work as soon as you add them and ask the user. But a small set of powerful capabilities are gated: Apple or Google requires a separate application or declaration, and your app will be rejected at submission if you ship the capability without it. This page explains which capabilities are gated, how to apply for each, and how to add the capability to your app in Newly.This page is only about approval-gated capabilities. Everyday permissions like camera, microphone, location, contacts and push notifications need no special approval — just add them and the OS prompts the user at runtime.
How gating works
There are three different gates, and knowing which one applies tells you what to do:Apple request form
You fill out an Apple form and wait for approval before the entitlement can be used in a distribution build.
Apple App Review
No form — you enable the capability in your build, and Apple checks it during normal App Review.
Play Console declaration
You complete a Permissions Declaration inside Google Play Console before the app or update can publish.
Apple: managed entitlements
These Apple capabilities require a request form and approval before you can ship a distribution build. Each links to a deeper guide.| Capability | What it’s for | Apply via |
|---|---|---|
| Family Controls | Screen Time, app blocking, parental controls | Family Controls (Distribution) request |
| Critical Alerts | Notifications that bypass silent mode & Focus | Critical Alerts request |
| CarPlay | In-car app UI (audio, navigation, EV charging…) | Request a CarPlay entitlement |
| Network Extension | Hotspot Helper (VPN/content-filter are now self-serve) | Network Extension request |
| Capability | What it’s for | How it’s gated |
|---|---|---|
| Health Records | Reading a user’s clinical / FHIR health records | Enable in Xcode → justify at App Review |
| Default App | Default calling, messaging, navigation or translation app (iOS 18.2+) | Enable in Xcode → meet requirements at App Review |
The Apple request flow
For the form-gated entitlements above, the process is the same:Develop against the capability first
Many entitlements (like Family Controls) provide a development variant you can build and test with locally before you request distribution.
Sign in as the Account Holder
Open the request form while signed in to the Apple Developer account that owns the app — requests are tied to your team.
Describe your app and use case
Provide the bundle identifier and a clear, specific justification for why the app needs the capability and how it uses it.
Wait for review
Apple reviews each request manually — typically a few business days to a few weeks. Submit early.
Android: restricted permissions
Google Play classifies some permissions as high-risk. Requesting one triggers a Permissions Declaration in Play Console, and in most cases you need approval before the app or any update can publish. See the full guide for details.| Permission | What it covers | Declaration required? |
|---|---|---|
BIND_ACCESSIBILITY_SERVICE | Accessibility API | Always, unless it’s a genuine accessibility tool |
READ_SMS / READ_CALL_LOG | SMS & call history | Always (must be default handler or approved exception) |
ACCESS_BACKGROUND_LOCATION | Location while backgrounded | Always |
MANAGE_EXTERNAL_STORAGE | All Files Access | Always |
QUERY_ALL_PACKAGES | See all installed apps | When broad visibility is requested |
Audit your compiled manifest
A library or config plugin can pull in a sensitive permission you didn’t add directly. Review the merged
AndroidManifest.xml (or expo prebuild output) before you submit.Open the declaration in Play Console
Go to App content → Sensitive app permissions / Permissions Declaration Form. It also surfaces automatically during a release that requests an undeclared sensitive permission.
Justify the core use case
Select the supported use case, explain why the permission is essential, and why a privacy-friendlier alternative won’t work.
Provide a video demonstration
Add a short video showing the permission in use, plus test instructions or a test account.
Adding the entitlement in Newly
Newly builds real native apps, so a gated capability goes into your project the same way it would in a hand-written app — you just describe it.- Via AI
- Then apply & rebuild
Describe the capability in your project chat, for example:The agent wires up the entitlement keys,
Info.plist / AndroidManifest entries and native modules for you.Still have questions?
- Ask the AI in your project chat — describe the capability you need and it can help wire it up.
- Email us at support@newly.app.
App Deployment
How Newly builds and submits your app to the App Store and Play Store.