top of page

Google Android App Functions Built a Security Cage, but Most AI Agents Remain Outside

6 days ago
13 min read

Google has built Android agents a controlled route into other apps, yet most users still cannot see, manage, or meaningfully use that route. Google Android App Functions now define how approved assistants can discover and execute specific actions across applications. The conflict is that the security architecture has arrived before a broad agent ecosystem.

This is more than another unfinished Android feature. Google is deciding who can act inside applications, what those actors can discover, and which operations developers expose. Those choices establish the control plane for future agents that create notes, find photos, start media, or assemble shopping carts.

They also separate Google’s approach from agents that operate phones by interpreting screens and imitating taps. Screen-driving systems can work without deep app integration, but they remain sensitive to layout changes and misleading content. App Functions offer a cleaner path, although only approved agents and participating apps can use it.

Google has already demonstrated limited integrations, including Gemini retrieving photos through Samsung Gallery. Android 17 expands the framework further. Still, a typical Android owner will not find a universal agent dashboard filled with third-party assistants and compatible actions.

That gap explains the apparent contradiction. The cage is not literally empty, but its population remains small, controlled, and difficult for ordinary users to inspect. Google has secured the doorway before opening the market around it.

Google Android App Functions Changed the Way Agents Enter Apps

App Functions replace simulated screen control with declared, structured operations that Android can identify and restrict.

An app function is a discrete action that an application makes available to an approved caller. A notes app might expose “create note,” while a media app might expose “play song.” The agent sends structured parameters instead of navigating the app’s visible interface.

The official App Functions framework describes two parties. A provider app declares an action, and a trusted agent discovers and executes it. Android mediates the exchange through AppFunctionManager and related services.

This architecture matters because a visual interface was designed for human judgment. A person notices that a button moved, a recipient looks wrong, or a purchase total changed. An automated system may continue after misreading the screen or following hostile instructions embedded in displayed content.

Structured functions narrow the available action. The agent does not receive unlimited control merely because it can ask an app to perform one operation. The provider defines the function, its inputs, and the result it returns.

Android also tracks whether a function is enabled. An execution request can fail if the function does not exist, cannot be found, or is unavailable. This creates a clearer boundary than granting an agent general access to the application interface.

The framework arrived in the platform at API level 36, the version associated with Android 16. Google’s documentation continues to describe App Functions as a beta or experimental preview. Android 17 adds runtime registration, activity-scoped functions, updated access levels, and more detailed discovery controls.

Those changes show that Google is treating cross-app agency as an operating-system concern. It is not leaving every assistant developer to invent a private integration layer. The platform supplies common identifiers, metadata, state management, requests, responses, and permission checks.

The distinction becomes clearer in a simple note-taking scenario. An agent receives the instruction, “Save the hotel address in my travel notes.” It searches for a compatible function, identifies the target app, supplies the title and content, and receives a result.

A screen-driving agent would instead open the app, locate a button, choose a notebook, focus a text field, enter content, and press save. Every visual transition adds another place where ambiguity or manipulation can enter the sequence.

App Functions do not guarantee that an agent understood the original request. They also do not prove that an app implemented its action safely. They reduce the surface area by replacing an open-ended interface journey with an operation developers explicitly declared.

That is the first important change. Android now has a native vocabulary for agents acting inside applications, rather than merely talking about those applications or launching their screens.

The second change is less visible. Android places cross-app execution behind permissions that ordinary applications cannot simply assume. That decision turns App Functions from a convenience API into a gatekeeping system.

The Permission Model Puts Google and Device Makers in Control

The security advantage comes from limiting capable callers, but the same restriction keeps independent Android agents outside the gate.

An application can execute its own functions without special authority. Cross-package execution is different. AppFunctionManager requires the calling agent to hold an Android permission authorized for discovering or executing functions in other apps.

The original Android framework work assigned EXECUTE_APP_FUNCTIONS to preinstalled or system applications holding the assistant role. A related trusted permission served tightly controlled system intelligence components. The permission history shows how explicitly Android tied agent execution to privileged roles.

The current framework is evolving toward more granular access levels. Developers can mark functions for the app itself, system callers, or callers certified by Android. However, certification is not equivalent to an ordinary runtime permission that any downloaded assistant receives after showing a prompt.

This distinction explains why the feature feels absent on a normal phone. Users are familiar with approving camera, microphone, contacts, and location access. They cannot necessarily install an arbitrary assistant and grant it broad App Functions authority from a standard settings screen.

Google is preventing a dangerous race to the bottom. If any application could call every exposed function after one vague consent prompt, aggressive assistants would seek broad authority. Users might approve it without understanding how many consequential actions become available.

Cross-app agents carry a different risk from passive chatbots. A mistaken answer is inconvenient. A mistaken action can message the wrong person, disclose a private document, modify a record, or begin a transaction.

Prompt injection makes that distinction sharper. An agent can encounter text designed to override the user’s intent while reading a webpage, message, document, or image. Recent mobile-agent research specifically examines how Android accessibility-driven agents can be exposed to indirect prompt injection.

A permission boundary cannot make the model immune to manipulation. It can limit which applications act as agents and which functions those agents reach. It also gives provider apps a defined execution path where they can validate arguments and apply their own checks.

Yet central control creates another problem. Google and Android device makers become the practical arbiters of which assistants receive first-class access. An independent agent can build a sophisticated planner and still lack permission to orchestrate third-party apps through the official framework.

That pressure falls on three groups.

First, assistant developers must qualify for Android’s trusted path or rely on less direct techniques. They can deep-link into applications, use existing intents, operate through accessibility services, or simulate interactions through development tools. None offers the same standardized access.

Second, application developers must decide which functions are worth exposing. Every function requires implementation, testing, input validation, lifecycle handling, and compatibility work. A small app team may hesitate until enough users possess an agent that can call those functions.

Third, users must trust both sides of the transaction. They need confidence that the assistant interpreted the request correctly and that the provider app will not execute an unexpectedly broad operation.

This produces a familiar platform cold start. Agents need useful functions before they attract usage. App developers need active agents before integration deserves engineering time. Google can break the cycle with Gemini and prominent partners, but independent participants remain dependent on its access policies.

The design is therefore both a security cage and a distribution gate. Restricting execution reduces immediate abuse, while certification and platform privilege shape who gets to build meaningful Android automation.

Google’s Safety-First Design Collides With an Adoption Problem

The core tradeoff is simple: tighter control makes Android agents safer to deploy, while slower access makes the framework less useful today.

Google publicly moved App Functions beyond obscure API references in February 2026. Its Android developer team called the capabilities early-stage and described privacy and security as foundational design priorities.

The company also presented a concrete deployment. Gemini could interpret a request, trigger an App Function in Samsung Gallery, and return selected photos inside the Gemini interface. According to the Samsung integration, that experience began on the Galaxy S26 series, with expansion planned for more Samsung devices.

That example proves the framework is not an empty code shell. It also reveals how limited the rollout remains. The demonstration involves Google’s assistant, a major Android manufacturer, a first-party gallery application, and selected devices.

A broad ecosystem would look different. Users could choose among qualified agents. Thousands of applications would expose documented operations. Android would show which agent called which function, what data moved, and which actions require confirmation.

The existing framework supplies several pieces of that future, but not its full public experience. Developers can define metadata, publish functions, observe state, and process execution requests. Android 17 also introduces more dynamic registration and activity-specific behavior.

Google’s Android 17 update includes a test agent application and ADB commands for development. ADB, or Android Debug Bridge, is a developer interface for controlling and inspecting devices. Those tools help programmers validate functions before consumer agents widely support them.

Testing support is necessary, but it does not equal adoption. A developer can prove that “create note” returns the expected response without knowing how many real assistants will invoke it. A compatible function can remain dormant on millions of devices.

The framework also needs shared schemas. Two note-taking apps may expose similar actions with different names, arguments, and result formats. If every provider invents its own contract, agents must understand a growing collection of proprietary interfaces.

Standard schemas let agents search by capability rather than memorize each application. Android’s metadata model supports schema information, but useful interoperability still depends on developers converging around consistent definitions.

User control presents another unresolved layer. An app can maintain the enabled state of its functions, and newer metadata can express different access levels. However, ordinary users need a comprehensible model that answers practical questions.

Can Gemini create notes but not delete them? Can another certified agent search photos without sharing them externally? Does approval apply once, per app, per function, or per sensitive request? Can a user review an action history after something goes wrong?

Google must balance these controls against friction. Confirming every harmless action defeats the convenience of an agent. Approving broad categories can hide risk. A useful system needs routine operations to proceed quickly while pausing before irreversible or sensitive steps.

This problem resembles permission design, but agent intent changes during a task. A camera permission grants access to a known sensor. An agent may begin by reading a list, infer several subtasks, consult multiple apps, and propose a purchase. The consequential boundary appears midway through the workflow.

That makes policy more important than a single permission. Android must combine caller identity, function scope, provider rules, user preferences, transaction sensitivity, and current context.

The cage metaphor captures only part of this design. Android is not isolating one untrusted process inside a box. It is coordinating trusted callers through narrowly exposed doors, with each application retaining responsibility for what happens behind its door.

For developers, the immediate calculation remains uncertain. Supporting Google Android App Functions gives an app a place in future agent workflows. It also means investing in a beta interface whose distribution, certification, and user demand are still developing.

Screen-Driving Agents Are Faster to Launch and Harder to Trust

Google’s main opponent is not another mobile platform; it is the shortcut of letting agents operate screens like people.

A screen-driving agent can begin with fewer partnerships. It reads pixels or an accessibility tree, decides where to interact, and generates taps, swipes, and text input. If a human can complete a task through the interface, the agent can attempt the same route.

That generality is appealing. Developers do not need every target application to publish a function. Researchers can test agents across existing software, and startups can demonstrate broad coverage before negotiating integrations.

Google’s own Android research helped establish this approach. The Android in the Wild dataset contains 715,000 episodes covering 30,000 instructions across multiple Android versions and device types. It reflects the scale required to train or evaluate systems that act through varied interfaces.

However, broad visual control trades explicit contracts for inference. The agent must determine what each screen means, whether content is trustworthy, and whether an interaction produced the intended result.

A button label can change after an app update. A dialog can cover the expected target. A malicious page can place instructions where the model will read them. A checkout flow can add a fee or change an item before the final confirmation.

Humans also make mistakes in these situations, but agents can repeat them faster and at greater scale. They may operate in the background, continue across applications, and handle information the user never reviews directly.

App Functions move interpretation to a different layer. The agent still interprets the user’s request, but it does not need to infer the mechanics of each screen. It chooses a declared operation and supplies typed information.

This resembles the difference between using an application programming interface and automating a website through a browser. APIs usually offer greater stability and clearer inputs. Browser automation reaches services without an API, but it must handle layout, session, and content changes.

The structured route also improves accountability. Android can identify the calling package, target function, request, and result. Provider apps can reject invalid arguments or require their own confirmation. Platform policy can treat sensitive functions differently from ordinary ones.

None of this removes the need for model-level defenses. A compromised agent can call an allowed function for the wrong reason. A careless provider can expose an operation with weak validation. A trusted caller can still misunderstand ambiguous instructions.

Structured operations can also make harmful actions more reliable. A malicious agent that reaches a “send payment” function does not need to navigate a confusing interface. The security value depends on limiting access, checking intent, and requiring confirmation at the correct moment.

That is why opening EXECUTE_APP_FUNCTIONS too broadly would erase much of the architectural benefit. Google cannot simply place the permission in a standard dialog and consider the problem solved. The platform needs qualification rules and observable behavior that users can understand.

At the same time, keeping access limited creates pressure to use screen automation. Independent assistants will follow the route that lets them ship. If the official door remains unavailable, some developers will return to accessibility services, ADB-based tools, or device automation.

The result is a policy paradox. Google wants agents to use the safer structured path, but it must make that path attainable enough to displace riskier alternatives.

Competitors and open-source projects can exploit the gap by offering agents that appear more capable across existing apps. Their demos may cover more tasks because they do not wait for provider integration. Google’s system may look constrained precisely because it enforces boundaries.

Consumers will not evaluate these architectures through API documentation. They will notice whether an agent can complete a request. If a screen-driving rival handles ten apps while Gemini’s structured route supports two, capability may outweigh abstract safety in the buying decision.

Developers face the same tension when designing AI workflows. Reliable automation depends on predictable inputs, controlled actions, and visible review points. General interface control offers reach, while structured functions offer clearer guarantees.

Google must close that capability gap without turning Android agents into unrestricted remote controls. App Functions provide the mechanism, but adoption and access policy determine whether developers actually use it.

The Real Test Is Whether the Cage Becomes a Marketplace

The next phase depends on app participation, agent access, and user-visible control rather than more framework classes.

The first signal to watch is the number and variety of production applications exposing App Functions. Samsung Gallery is a useful demonstration because photo retrieval involves personal data and a recognizable user task. It does not establish broad support across communication, productivity, finance, shopping, travel, and media.

Major applications need to expose more than promotional demo actions. Repeated, practical workflows will show whether the framework saves users meaningful effort. Creating a note, locating a specific photo, starting a playlist, and adding items to a cart are early tests.

Adoption strengthens Google’s approach if several independent app developers announce working integrations. It weakens the case if support remains concentrated among Google software, device-maker applications, and selected launch partners.

The second signal is access for non-Google agents. Android’s newer metadata refers to callers certified by Android, suggesting a route broader than one first-party assistant. The decisive question is what certification requires and whether qualified third-party agents can compete on reasonable terms.

A credible program needs published criteria, security obligations, revocation procedures, and predictable review. Developers should know how an agent earns access and what behavior causes it to lose that access.

Without those details, the permission system risks becoming a private distribution advantage for Gemini. Google can argue that strict access protects users, while rivals can argue that the same rules protect Google’s position as Android’s default agent.

Evidence of multiple certified agents would strengthen the security-first interpretation. Persistent first-party exclusivity would strengthen the gatekeeping interpretation. The framework’s legitimacy depends on distinguishing trust requirements from preferential access.

The third signal is a user-facing control and audit experience. Google’s broader Gemini Intelligence rollout promises proactive automation across phones and other devices. More background action makes visibility increasingly important.

Users need to see which functions exist, which agents can call them, and which permissions remain active. They also need a history that explains what an agent requested and what each application returned.

A useful control surface should separate low-risk convenience from consequential authority. Playing a song does not deserve the same friction as sending a message or submitting an order. The platform should communicate that difference before an error occurs.

Confirmation design will be the hardest part. Too many prompts condition users to approve everything. Too few prompts leave users surprised by actions they did not intend. Contextual approvals must remain clear without turning every workflow into a sequence of interruptions.

Google should also explain where processing occurs. Some functions can execute against local application state, while the assistant’s reasoning may involve cloud services. Users need to understand when their data leaves the device and which party receives it.

The framework’s state controls could support emergency revocation. If an agent behaves unexpectedly, users should be able to disable its cross-app authority without hunting through individual applications. Provider apps should also be able to suspend sensitive functions quickly.

Developers will look for operational tools as well. They need logs for failed calls, schema validation, compatibility testing, abuse reporting, and clear behavior across Android versions. A framework becomes an ecosystem only when teams can support it in production.

Google’s staged rollout is defensible. Releasing unrestricted cross-app agency before the controls exist would invite predictable failures. The company has instead built permission checks, provider contracts, test tooling, and expanding platform APIs before enabling universal access.

The skeptical view is equally defensible. A secure framework with few callable functions does not deliver much consumer value. A tightly controlled route can also push independent developers toward the exact screen automation that the framework was designed to replace.

Google Android App Functions therefore sit at an important but incomplete transition. Android now has a native mechanism for agents to discover and execute bounded operations. The platform has not yet shown that this mechanism can support an open, competitive, and widely adopted agent market.

Over the next few months, watch for production integrations beyond launch partners, published access rules for outside agents, and a visible permission history for users. Together, those signals will reveal whether Google built shared infrastructure or a protected lane for Gemini.

For Android owners, the practical question is not whether an AI agent can tap a screen. Experimental systems have already shown that it can. The question is whether Android can let agents act across personal apps without asking users to surrender meaningful control.

For developers, the decision arrives sooner. They must identify safe, useful operations that deserve structured exposure and define where confirmation belongs. Waiting avoids near-term work, but it can leave an app invisible when users begin delegating tasks instead of opening interfaces.

Google has constructed the doorway and installed the lock. Now it must prove that trusted agents, independent developers, and ordinary users can all receive the right keys.

Give every agent the context to do better work

Connect your agents to the knowledge, decisions, and history already organized in remio.

remio currently supports Windows 10+ (x64) and Macs with Apple silicon.

Your AI Partner at Work
Get more done with remio

Plan. Create. Deliver.
All in one place.

bottom of page