HomeNotesTalksThe roast curve
M365 Barista Talk · LinkedIn
Home /Notes /R-02

R-02 Copilot & Adoption

Copilot Managed Runtime: Governance for Vibe-Coded Apps

07/10/20269 minDark · ImplementationShare
Ferdi Lethen-Oellers next to the title „Copilot Managed Runtime: Governance for Vibe-Coded Apps“

Since 25 September, everybody in your tenant who can open Copilot Studio can build apps. No ticket, no approval, not one line of code. And the switch for this is on by default.

What this means in real life I saw last week at a customer in the Ruhr area. Weekly IT jour fixe, and the head of controlling mentions on the side that he built himself „a small tool”. An app that prepares the current revenue numbers for his team every Monday, directly from the controlling system. Built in Copilot Studio, only with prompts. He did not write a single line of code himself.

The IT lead next to me went a bit pale. She knew nothing about it. There was an app running with access to financial data, shared with his team, and nobody in IT had ever seen it.

Now the good news, and I mean this seriously: the app was not sitting on some private machine. It was running in the Copilot Managed Runtime, so inside their own tenant, and it was visible in the M365 Admin Center the whole time. The bad news: nobody had looked there yet.

And how did the app even get to the controlling system, when out of the box only Microsoft connectors are allowed? Because the tenant still had old Power Platform environments without any connector policy. No policy, nothing forbidden.

That is exactly what this article is about. The runtime brings vibe-coded apps out of the shadows. Controlling them is still your job.

What the Managed Runtime actually changes

Vibe coding means: you describe in natural language what the app should do, and the AI writes the code. Until now, the story usually went on like this: the business user exports the code and hosts it somewhere, sometimes in Azure App Service, sometimes on a private machine. From that moment, IT was blind. Nobody knew which data sources were connected, no DLP rule applied, and compliance documentation did not exist. From a GDPR point of view a nightmare, because the whole data flow runs under the radar.

With the Copilot Managed Runtime, code and execution stay inside the tenant. It has two parts:

  • Host: provides the runtime environment inside the M365 tenant boundary.
  • SDK and CLI: the npm packages @microsoft/managed-apps and @microsoft/managed-apps-cli with the command ms, for everyone who works code-first.

Several roads lead to the runtime: Copilot Studio (on by default, the road our controller took), Copilot Cowork as a chat-based app builder (currently only in the Frontier program), Copilot Code and the CLI (off by default). Microsoft also opens the runtime via SDK for external builder tools, and Lovable is the first named partner. So you build anywhere, but it runs in one place.

End users find the finished apps in their own web portal. You manage everything in the M365 Admin Center under Apps, including inventory, usage numbers and health monitoring with alerts. Every app authenticates through Entra ID. Conditional Access, DLP, advanced connector policies and sharing limits apply automatically. Out of the box, apps can only use 18 Microsoft first-party connectors that authenticate exclusively via Entra ID. And even there, Microsoft closes the back doors: open „Send an HTTP request” actions or „Run script” are blocked by default.

Microsoft called the launch post „Build where you want, run with confidence”. For once this is more than a slogan. The runtime closes a real structural gap that shadow AI has opened over the last two years.

Where the coffee gets bitter

Now the honest part, which my customers hear from me exactly like this.

First: preview is preview. The docs carry the stamp „prerelease, subject to change”, and the supplemental terms of use for previews apply. There is no SLA commitment for production use. Important building blocks like server-side logic and the built-in database are still completely missing in the public preview. This is not a ban on production use. But it is also not an invitation.

Second: visibility is not governance yet. For me the most important point. In the Admin Center you see under „Data & tools” which connectors, data sources and dependencies an app uses. Exact target endpoints, dynamically resolved addresses, actions the app really executed or the permissions per user you do not see there, and Microsoft writes this itself in the FAQ. One more catch: the Admin Center shows you the allow list of the advanced connector policy, but not necessarily the restrictions from classic DLP policies. And when you remove a user’s access to the app, the user still keeps the permissions on the data behind it.

ESPRESSO-MOMENT

You finally have one counter where everything is served. But you still cannot look into every cup.

Third: the owner leaves, the app stays. Every app is created in the personal developer environment of its maker. What happens when the controller leaves the company? Who becomes the new owner, who maintains the app? For this very everyday case I did not find any process for ownership transfer in the public docs. As an admin you can block and delete, nothing more. This gap you have to close yourself.

Fourth: the bill comes per user. Building in Copilot Studio costs Copilot Credits, and this starts with the first prompt, not only after publishing. Running the app also costs credits, billed per user, unless someone has a Power Apps Premium license. In the preview, users without credit coverage first get a warning, and after 20 app operations or five minutes it is over. When the controlling team opens the app on Monday morning and after five minutes nothing works anymore, the ticket lands with you. Not with the controller.

What you have to do now

The Managed Runtime gives you the place. What you make of it is your job. Seven steps that put you in control of the runtime from day one.

Take inventoryCheck in the M365 Admin Center under M365 Admin Center > Apps > Overview > Set up app creation spaces which creation paths are active. Copilot Studio is on by default, the CLI is off (you enable it with an environment group rule in the Power Platform Admin Center), and Cowork depends on Frontier onboarding. Under Apps > All apps you then see who has already built something.
WATCH OUT

Already your first visit to the Managed Runtime admin experience initializes the governance. From then on you cannot delete or change an existing „Everyone” catch-all routing rule anymore, and environment routing for the runtime is permanent. If you already have routing rules in Power Platform: talk to your Power Platform admin first.

Control building and sharing via groupsBy default, every eligible user can build apps in Copilot Studio. With PowerShell or the API you limit this to an Entra ID security group. How broadly apps may be shared (whole organization, guests) you define in the environment group. And map the admin roles cleanly in your role concept: Global Administrator and Power Platform Administrator can change settings, Global Reader, AI Administrator and AI Reader can only read.
Define the way into the departmentEvery maker gets the personal sandbox for free, as a managed environment. The step from „my app” to „app for the whole department” Microsoft does not regulate for you. Decide from which point an app needs a review before it gets shared broadly. Otherwise the next finance app goes straight into production without anybody having a look.
Set your connector policyExisting advanced connector policies and DLP policies from Power Platform also apply here, and in mixed mode the strictest rule wins. Use this instead of starting from zero. Check the effective result in the Power Platform Admin Center, because the M365 Admin Center does not show you the full picture. And think twice before you take over the Microsoft-curated list: from then on, no automatic updates come anymore.
Sort out the costs before it blows upCreate a spending policy for running apps under Copilot > Cost management and clarify which users are covered. Otherwise the app stops in the middle of the Monday meeting.
Build your own lifecycle processThis includes owner documentation, a backup person per app, fixed review cycles and a clear shutdown criterion for orphaned apps. Exactly because Microsoft does not deliver anything ready-made here yet.
Talk to your business usersMaybe the most important point. Tell them what is now officially allowed and supported. Then they build together with you, and not secretly on Monday morning before the jour fixe.

What stays

CONCLUSION · FERDI-STYLE

The Managed Runtime brings vibe-coded apps out of the shadows and back into the tenant. That is real progress. It gives you visibility, but no finished governance. Roles, approval paths, costs and lifecycle you have to set up yourself, and you should do it now, while the number of apps is still manageable.

ESPRESSO-MOMENT

The Managed Runtime does not take the responsibility off your shoulders. It just finally gives you a place where you can take it. The coffee machine now stands in the server room instead of the intern’s home office: you see who uses how many beans. If it is the right roast, you still have to taste yourself.

YOUR TAKEAWAYS
  • Check under Apps and Overview which creation paths are active and look at the inventory. Clarify first what the initialization does to your routing rules.
  • Limit building with Entra ID security groups and control sharing in the environment group.
  • Define a review step before an app moves from the personal sandbox into the department.
  • Use your existing DLP and connector policies and check the effective result in the Power Platform Admin Center.
  • Create a spending policy for running apps before the first users get locked out.
  • Build your own lifecycle process with owner, backup, review cycle and shutdown criterion, and explain the new rules to your business users instead of only forbidding things.

Are you already experimenting with the Managed Runtime, or did you find similar shadow AI cases in your tenant? Write me on LinkedIn. I am curious which governance gaps you found first in practice.

#EspressoM365Fusion

Share this note

Ferdi Lethen-Oellers
Ferdi Lethen-Oellers

Senior Modern Workplace Consultant at amexus, Microsoft MVP, author of “Microsoft 365 Administration für Dummies”.