Skip to main content

Public apps

Windmill apps are custom-made user interfaces meant to interact with scripts and flows. This applies to both low-code apps and full-code apps.

By default, deployed apps are accessible to all users that belong to the folder the app was deployed to.

Secret Public URL

A "Public" app is an app that can be seen and used by users outside this scope (i.e.) folder.

When deployed, an app automatically has a secret public URL.

Who the URL lets in is set from the Access control in the Deploy menu of the app editor:

  • Members: workspace members with read access on the app. This is the default, and a visitor who is not one is asked to log in.
  • Guests: the above, plus anyone with no Windmill account whom your identity provider authenticates or a guest JWT names. They join no workspace and take no seat. See guest apps.
  • Public: anyone holding the secret URL, with no login at all.

Widening an app to Guests or to Public can be reserved to workspace admins and bypass users with a protection ruleset.

Log in to open the app

A public app runs in the browsers of people who may not be workspace members, and by default its code runs there with whatever Windmill session the viewer has. We recommend turning on sandbox isolation (alpha) for public apps, which confines that code to an opaque-origin iframe instead.

Rate limiting

Users can limit the number of public (anonymous) app executions per minute per server. This is useful to prevent abuse of public apps that don't require login.

The setting is found under workspace settings > Advanced > Apps. Set the value to 0 or leave empty to disable rate limiting. This is a per-server limit, not a global limit.

Executions started by a guest count against the same limit.

Custom URL

Cloud and enterprise users can also customize the public URL of their app. The app will be available at https://mywindmill.com/a/<custom-path>.

On cloud only, the custom path is prefixed by the workspace name.

App custom URL