What HealthKit permission does a step counter need?
A step counter that only displays your steps needs one HealthKit permission: read access to Step Count. It does not need write access, workouts, heart rate or location. The app explains why in its NSHealthShareUsageDescription, iOS asks you per data type, and you can change the answer any time in the Health app under your profile, then Apps.
Key takeaways
- The relevant type is
HKQuantityTypeIdentifier.stepCount, with read access only. - Write (share) access is only needed if the app saves its own step data, and needs
NSHealthUpdateUsageDescription. - iOS asks permission per data type, and you can turn each one off later.
- Apps cannot tell whether you denied read access; they just see no data.
- App Store rules ban using HealthKit data for advertising or marketing.
Which HealthKit permission does a step counter need?
One: permission to read the step count type, HKQuantityTypeIdentifier.stepCount (Apple Developer).
| Permission | Needed to display steps? | Why |
|---|---|---|
| Read Step Count | Yes | To calculate and show your daily total |
| Write Step Count | No | Only for apps that record and save their own steps |
| Read Workouts | No | Not needed for a daily step total |
| Read Heart Rate | No | Not needed for steps |
| Read Walking + Running Distance | Optional | Only if the app shows distance |
| Motion & Fitness (not HealthKit) | Optional | For a live count from Core Motion while the app is open |
What do read and write mean in HealthKit?
- Read lets the app query samples from the Health store. Apps must explain why with the
NSHealthShareUsageDescriptionkey, described by Apple as a message explaining why the app requests permission to read samples. - Write (Apple calls it share) lets the app save samples to Health, and needs the
NSHealthUpdateUsageDescriptionkey.
Apps request authorization for each type they want, and iOS shows a sheet where you can allow or deny each one individually (Apple Developer). A step viewer has no reason to request write access, and if an app does not need to save a type, it should not ask.
Why can’t an app tell if you denied Health access?
Apple hides it on purpose. To help prevent possible leaks of sensitive health information, an app cannot determine whether you have granted permission to read data (Apple Developer). If you said no, the app simply sees no samples, as if you had no steps recorded.
That has practical effects:
- A step app showing zero steps all day may have no read access, not a bug.
- Good apps explain how to check access instead of assuming you said yes.
How do you check or change a step app’s Health access?
- Open the Health app.
- Tap your profile picture in the top corner.
- Under Privacy, tap Apps.
- Choose the step app.
- Turn Steps on or off under “Allow to read”.
Then reopen the step app so it can query Health again. Apple’s guide to managing Health data covers the same settings and how Health prioritises data sources.
When should an app ask for Health permission?
- Explain first. Say in plain words what you read and why before the system sheet appears.
- Ask at the moment it matters, such as when setting a step goal, not on the very first screen.
- Request the narrowest set of types: Step Count alone for a step viewer.
- Stay usable if someone declines, and show how to turn access on later.
- Respect the rules. App Store Review Guideline 5.1.3 bans using HealthKit data for advertising, marketing or data mining, and requires apps to disclose the health data they collect (Apple).
More on that in how an Apple Health step app can stay privacy-first.
What permission does StepIsland ask for?
StepIsland’s privacy policy says it reads your step count from Apple Health with your permission, does not read workouts, heart rate, location, medical records or any other Health data, and never writes to Apple Health. It may also use Motion & Fitness to show your live step count while the app is open.
Frequently asked questions
Does a step counter need write access to Apple Health?
No. An app that only displays your steps needs read access to Step Count. Write access is only needed by apps that record and save their own step data.
Why does my step app show zero steps?
Often because it does not have read access to Steps. Apps cannot tell if read access was denied, so they just see no data. Check the Health app under your profile, then Apps.
How do I give a step app access to Apple Health?
Open the Health app, tap your profile picture, then Apps under Privacy. Choose the app and turn on Steps under Allow to read.
What is NSHealthShareUsageDescription?
It is the Info.plist key where an iPhone app explains why it wants to read data from HealthKit. Apple requires it for apps that read health data.
Can I revoke Health access later?
Yes. You can turn off any data type for any app at any time in the Health app, and the app will stop receiving new data of that type.
From the studio behind this journal
One permission. A whole little world.
StepIsland is Upmoat’s walking app and step counter for iPhone and Apple Watch. Pick a companion, set a goal and watch an illustrated world grow with your Apple Health steps, live on your Lock Screen, Dynamic Island, widgets and Apple Watch.
Explore StepIslandSources
- Apple Developer. HKQuantityTypeIdentifier.stepCount
- Apple Developer. Authorizing access to health data
- Apple Developer. authorizationStatus(for:) (HealthKit)
- Apple Developer. NSHealthShareUsageDescription
- Apple Developer. NSHealthUpdateUsageDescription
- Apple. App Store Review Guidelines, 5.1.3 Health and Health Research
- Apple Support. Manage Health data on your iPhone, iPad or Apple Watch
- Upmoat. StepIsland privacy policy (updated October 1, 2026)