Android 17 replaces standing permissions with session-based access — a design constraint every commissioned app now has to plan around

Android 17, now stable on Pixel devices, moves contacts and precise location from one-time grants to session-based access that expires when the app closes, alongside a cross-device Handoff API — changes that reshape how commissioned Android apps need to request and retain user data.

Android 17 is stable on Pixel devices as of mid-2026, and its headline changes aren’t visual — they’re structural changes to how apps are allowed to hold onto user data. The new Contacts Picker grants temporary, field-level access to only the specific contact data an app requests, rather than the broad READ_CONTACTS permission apps have relied on for over a decade. A parallel session-based location button gives apps precise location for the current session only, closing when the app does, instead of a standing grant that persists until the user manually revokes it.

Both changes follow the same logic Apple has been pushing on iOS for several release cycles: permissions as a rolling negotiation rather than a one-time toggle. For teams commissioning an app, that’s not a footnote — it’s a design constraint. Any feature that assumed persistent background access to contacts or location (contact sync, geofencing, location-based notifications when the app isn’t open) needs an explicit re-request flow built in, and that flow needs to degrade gracefully rather than nag the user every session. Google has also added a Handoff API letting apps specify state to resume across a user’s other devices, which raises the same question in reverse — what state is worth persisting across devices now that per-app data access is more tightly scoped.

None of this is a reason to delay an Android build. It’s a reason to make sure whoever specs the app has actually read the platform’s current permission model rather than designing against how Android worked two or three years ago, because the difference shows up in App Store review, user trust, and how much re-engineering a “just add background location” feature request costs later.

So what

If you’re commissioning an Android app — or maintaining one that leans on contacts or location — treat platform permission changes like this as a spec input, not a launch-week surprise to patch around. Our iOS & Android development work builds against current platform requirements from day one; get in touch if you want a permissions and data-handling review before you scope a build.

← All research

More research.

VS Code 1.145 lets Copilot run local automations on a schedule with custom agents

GitHub's 6 November 2026 Copilot weekly release adds cron-scheduled local automations with custom agents in VS Code 1.145, alongside Copilot in JetBrains Air and a unified Copilot CLI settings dashboard.

Read ›

@GitHub in Slack and Teams is generally available: from a chat message to a pull request

GitHub's 6 November 2026 release makes @GitHub in Slack and Teams generally available, letting teams investigate bugs, create issues and open pull requests with an AI coding agent from a chat conversation.

Read ›

GitHub secret scanning cuts false alarms for AWS, Google and Alibaba cloud keys and adds a SpaceX detector

GitHub's 5 November 2026 secret scanning update tightens detectors for AWS, Google Cloud and Alibaba keys, relevant to teams building software with AI coding tools that can paste credentials into code.

Read ›

GitHub's Copilot code review can now be managed by API, with review effort levels and AI credit costs shown

GitHub's 6 November 2026 update lets organisations manage Copilot code review by API and see the review effort and AI credits each AI code review used, a sign AI-assisted development is becoming auditable.

Read ›

GitHub's Copilot impact dashboard now counts chat and VS Code agent use, and drops the 'passive users' label

On 6 November 2026 GitHub added Copilot Chat and the VS Code Agents window to its Copilot impact dashboard, bringing it to nine tracked experiences, and renamed 'Passive users' to 'Chat-first users'.

Read ›

Claude Code 2.1.319: a setting that denies permission prompts so AI agent runs don't stall

Claude Code 2.1.319 (6 November 2026) adds a permissions.denyInsteadOfPrompting setting and moves long MCP tool calls to the background, a sign AI-assisted development is being built for unattended runs.

Read ›

Start a project

Building with AI? Let's talk.

Tell us what you are building. We'll give you an honest view of the right approach.

Start a projectSee our work