Publishing your app
Publishing takes your app exactly as it stands and installs it at its own public address. From that moment the live app and the one you are editing are two separate things: nothing you change in the editor reaches visitors until you publish again.
Preview before you publish
You can ask for the publish report without publishing. It runs the same assembly the real publish runs and then uploads nothing — so what it reports is what would actually ship, not a separate estimate that can drift.
The report is where you find the problems worth knowing about before they are live: a page that declares sign-in without choosing a method, internal links that resolve to no page, an app that has nothing published in it yet.
The address
A published app is served at its own hostname:
https://<name>.phiwebs.app/The name is claimed once, the first time you publish, and never changes when you publish again. That matters beyond tidiness: the address is the app’s public identity, and sign-in redirects are registered against it. If two apps would claim the same name, the second one gets a short suffix.
Share the link, or show the QR code — both point at the same address.
Updating a published app
Publish again. It is a deliberate act, and that is the point: an app in front of customers does not change because someone opened the editor.
Publishing an update never reaches back into your working copy either. The two only meet when you publish.
Who can open it
That depends on what the app declares about its visitors:
- An app that allows anonymous visitors serves anyone who has the link.
- An app that requires sign-in refuses everyone else, and offers the sign-in methods it declared.
Visitors are not PhiWebs users — they are your app’s own people, with their own accounts inside your app. See Visitor sign-in.
The four ways an app can travel
| Where it goes | What you get | Who can do it |
|---|---|---|
| Its own address | https://<name>.phiwebs.app/ — live, shareable, updated when you publish again | Every plan |
| Download (pwpack) | The app’s full source as one portable package | Every plan |
| Self-host (pwapp) | A ready-to-run bundle — the app plus its runner — for any static host | Every plan |
| Marketplace | An installable listing other teams can add to their own workspace | Not open to other teams today — the marketplace carries what we publish |
Download and self-host are never gated
Taking your own work out is not publishing, and it is not treated as publishing. Both the pwpack download and the pwapp export work on every plan, and they work from your current draft — you do not have to publish first.
- pwpack — the portable copy of the app itself. Keep it as a backup, move it to another workspace, or hand it to someone else.
- pwapp — the same app packaged with everything needed to run it. Unzip it onto any static host and it serves.
If the app declares sign-in, the exported bundle carries the address of the door it should call, so a self-hosted copy still signs its visitors in.
The marketplace is ours to stock, for now
Publishing to the Marketplace is a different act from publishing to your own
address, and today it is not open to other teams: every listing there is
published by us. A workspace that is not registered and approved as a
publisher is refused with PUBLISHER_NOT_APPROVED, and no such registration
is being approved at present. The way to share what you built is the
pwpack — download it and hand it over, and it installs in another workspace
like any other.
Your own domain
Every published app gets its phiwebs.app address for free. Pointing a domain
you own at an app is arranged with us as part of your plan rather than switched
on from the editor — see pricing or
talk to us.
Exporting your data
The app package and your data are different exports. For a copy of everything in the workspace — the apps, their records and their history — use the workspace data export in settings. That is the export to reach for when the question is retention or portability of data rather than of an app.