We removed five health permissions nobody was using

15 September 2026 · 3 min read

An audit of every Health Connect permission Praana asked for found five that no code path read. Here is how they got there and why we cut them.

Praana asked Android for a list of Health Connect permissions. Before the Play Console submission we went through that list one entry at a time and asked a single question of each: which line of code reads this?

Five of them had no answer.

How permissions accumulate

None of it was careless in the moment. You build a screen, you think you will want respiratory rate, you add the permission while you are in the file. Then the screen ships without that chart, and the permission stays, because nothing breaks and nothing reminds you.

Multiply that by a year and the permission sheet asks for more than the app does. The user sees a longer list, gets less comfortable, and is entirely right to.

What we cut, and what went with it

The five unread permissions were removed. One of them was attached to a tile that promised a metric the app was not really showing, so the tile went too, and the copy that described it was rewritten rather than left to imply something untrue.

The audit is worth repeating before every release, because the drift is one-directional: permissions get added during development and almost never get removed unless somebody deliberately looks.

The rule we kept

Ask for a permission when a line of code reads it, and not before. If a feature is planned but not built, the permission is not needed yet, and adding it early costs trust for no gain.