Skip to content
Free static hosting, now live

Free hosting for App Store
privacy policy & support URLs

Apple and Google both hold your submission until you hand them a working privacy policy URL, plus a support URL for App Store Connect, and an account-deletion link if your app has accounts. Write the page, drag the index.html into BetaDrop, and paste the live HTTPS URL into the console. No server, no FTP, no domain to buy, no credit card.

https://yourapp.betadrop.site/privacy.html
  • Free account, no credit card
  • Public HTTPS, no login wall
  • .zip or index.html

Where do I host my app's privacy policy URL?

Anywhere it is a public HTTPS page a stranger can open without signing in. BetaDrop hosts it free: write the policy as a single index.html, drag it into the dashboard, and paste the https://yourapp.betadrop.site/ URL you get back straight into App Store Connect or Play Console. No domain to buy, no server to rent, no DNS to point, no credit card. It is live within seconds of the file landing.

The consoles want slightly different things, and it helps to know which of them is blocking you. Apple requires a privacy policy URL and a support URL for every app. Google requires a privacy policy URL for every app on Play — including apps that collect no user data at all — and, if your app lets people create an account, a web link where they can request deletion, entered in the Data safety form. The requirements differ; the files do not. One small site holding privacy.html, support.html and delete-account.html fills every one of those fields, and the same privacy policy URL works in both consoles.

What actually gets people rejected is not the absence of a page but a link that behaves differently for a reviewer than it does for you. The console field accepts any string; review opens it. A Google Doc or Notion page whose sharing looks fine from your logged-in browser can still show a sign-in wall to someone at Apple, and a login wall reads as a broken URL. So does a PDF in Drive, a link to your homepage instead of the policy itself, and a template with another company's name still in it. A plain HTML page on your own subdomain has no sharing settings to get wrong: it is either up or it is not, and you can check it in a private window in five seconds.

One caveat to read before you rely on it, because finding it later is worse. A store listing points at these URLs for as long as the app is listed, and a free site here is a trial window: 30 days, renewable once for free, after which it parks until you upgrade. The subdomain and files are kept either way, and we warn you first. That is fine for getting a submission through, and it is the wrong shape for a URL a live listing depends on. Move those to a paid plan, or to any host you will still be paying attention to in two years.

Which points at the case where you should not use this at all: if you already have a marketing site, put the policy on it. One more path under a domain you control beats a second host to remember, and nothing about these pages needs to be anywhere in particular. This exists for the developer who has an app and no website, which, on a first submission, is most of them.

Which URL is the console asking for?

Apple asks for a privacy policy URL and a support URL; Google asks for a privacy policy URL plus, for apps with accounts, an account-deletion link. Hosting the page takes one drag. Knowing what has to be on it is the part that holds up submissions, so each of these goes into the rules and the rejections in full.

Privacy policy — App Store
Apple asks every app for one, including apps that collect nothing, and the page has to agree with your App Privacy labels. The guide covers what to write and the five ways the link itself gets rejected. Read the App Store guide.
Privacy policy — Google Play
Play Console takes it in the App content section and checks it against your Data safety answers. A page that contradicts the form is the rejection people hit now, more often than the policy wording. Read the Google Play guide.
Support URL — App Store Connect
Apple-only and mandatory: somewhere a stuck user can reach a human. What fails is pointing the field at a social profile, a bare mailto link, or a site with nothing to do with the app. Read the support URL guide.
Account deletion — both stores
Only for apps with accounts, and the two stores want different shapes: Apple wants deletion startable in the app, Google wants a web link that still works after someone uninstalls. Most apps need both. Read the account deletion guide.

For the whole list in one table — including the two fields nobody requires, the marketing URL and a custom EULA — see every URL the App Store and Play Store require.

How it works

Three steps, and the only one that takes any thought is writing the page.

01

Write the page

A privacy policy or support page is one index.html: a heading, honest paragraphs about what you collect, and an email address. No framework, no build step.

02

Drop it on BetaDrop

Drag in the index.html, or a .zip holding privacy.html, support.html and delete-account.html together. It deploys in seconds: no server, no FTP, no Git remote.

03

Paste the URL into the console

You get yourapp.betadrop.site over HTTPS. Privacy policy and support URL go into App Store Connect; privacy policy and the deletion link go into Play Console's App content section.

Why host it here

Built for the page a reviewer is about to open, with no repository behind it.

A URL review can open

Served over public HTTPS with no login wall and no sharing settings to get wrong — which is the exact way a Google Doc or Notion privacy policy fails once a reviewer, not you, clicks it.

Free, no card

Deploy without a credit card. A free account includes 1 GB of storage shared with your builds.

Deploy in seconds

Drag and drop. No pipeline to configure, no build minutes to burn, no queue to wait on. A redeploy keeps the same URL, so the console never needs editing twice.

Your own subdomain

A clean yourapp.betadrop.site address you choose, on a domain kept separate from the app so hosted pages can never touch an account session.

Renew or keep it

A free site stays live for 30 days and renews once free. When it parks, the subdomain and files are kept — a free renewal brings it back without a redeploy.

Made for app teams

Built by a beta-distribution tool, so the store paperwork lives next to where you already ship the .ipa and .apk it belongs to.

Free static site hosting, not only store pages

How do I host a website for free? Upload the finished files to a static host and it gives you a URL. BetaDrop is free web hosting for static websites: drag a .zip of your built site or a single index.html into the dashboard, and it is live at your own yourapp.betadrop.site address over HTTPS within seconds. No server to rent, no FTP client, no cPanel, no DNS to configure, no credit card. A free account includes 1 GB of storage and up to 100 MB per deploy. A landing page, a changelog, product docs, a coming-soon page or a conference demo are all the same one drag as a privacy policy.

“Static” is the one constraint worth understanding, and it is what makes the hosting free. Your files are served exactly as you uploaded them, so anything a browser can run on its own works: HTML, CSS, JavaScript, images, fonts, and single-page apps built with React, Vue or Svelte. What will not run is code that needs a server: PHP, Node, Python, WordPress and databases all need somewhere to execute, and there is no runtime behind your files here. If your site needs a backend, host the backend elsewhere and call it over HTTPS from the page.

The free window described above applies to any site, not only policy pages, and the second limit worth knowing is domains: custom domains are not supported yet, so every free site is served on a betadrop.site subdomain. If you need a custom domain today, GitHub Pages, Netlify and Vercel all offer one for free and are the better answer.

The pages that come after the paperwork

The store paperwork is rarely the only page you end up needing in launch week. The same drag handles a release-notes or changelog page, a simple app landing page to point the optional marketing URL at, API or product docs, a coming-soon page, or any hand-written HTML you want reachable from a link. They can all live on the same site, at their own paths, in one upload.

And if you are here because you are shipping an app rather than a website, the rest of BetaDrop is the other half of that job: upload a signed iOS .ipa or an Android .apk and share an over-the-air install link with your testers. If you are weighing that against Apple's own tooling, the TestFlight alternatives comparison covers where each one wins.

What you can put on it

Static hosting means exactly what it says, and knowing the edge of it up front saves you an upload that cannot work.

Anything a browser can render
HTML, CSS, JavaScript, images and fonts, served as the files you uploaded. A .zip of your build folder up to 100 MB per deploy, or a single index.html. Single-page apps work, and so does anything that calls an API from the browser.
Nothing that needs a server
There is no runtime behind your files, so PHP, Node, Python, server-side rendering and databases will not run. If your app needs a backend, host it elsewhere and call it over HTTPS from the page; that is the usual shape and it works fine.
Built output, not source
We do not run a build step, so zipping your repository will not produce a site. Run your build, then zip what lands in dist, build or out. Every static framework works on those terms: Vite, Next.js with output: export, Create React App, Astro, Hugo, Jekyll, SvelteKit with the static adapter, or plain HTML.
A real site, not a file dump
Hosting is for websites. Using it as a personal file store, a backup target, a general-purpose CDN or a place to park large media is against our Acceptable Use Policy. Your own .ipa and .apk builds have a home already; that is what the build distribution side is for.

How it compares

All three are good products, and for a site you maintain from a repository they are the better answer, including for these pages, if you already have a site to put them on. BetaDrop is aimed at the case they serve worst: one policy page needed online tonight, with no repository behind it.

Feature comparison of BetaDrop free static hosting against GitHub Pages, Netlify and Vercel free tiers
FeatureBetaDrop (Free)GitHub PagesNetlify (Free)Vercel (Hobby)
Built for store privacy-policy pagesYesGenericGenericGeneric
Deploy methodDrag-drop .zip or index.htmlGit push or ActionsGit, CLI or drag-dropGit or CLI
Git repo requiredNoYesNo, with drag-dropEffectively yes
Free subdomainyourapp.betadrop.siteusername.github.ioname.netlify.appname.vercel.app
Custom domain on freeNot yetYesYesYes
Site stays live free30 days, renewable onceIndefinitelyIndefinitelyIndefinitely

Free tiers change often; these were checked against each provider's public documentation when this page was written. Storage on a free BetaDrop account is 1 GB shared across builds and hosted files, and traffic is capped at 100 GB a month.

Two of those columns have a page of their own: a GitHub Pages alternative for pages that are not git projects and a Netlify alternative with no build step.

Frequently asked questions

Everything worth knowing before you upload.

Where do I host a privacy policy URL for my app?

Anywhere it is a public HTTPS page that opens without a login, which is what BetaDrop's free hosting is for. Write the policy as a single index.html, drag it into the dashboard, and paste the yourapp.betadrop.site URL you get back into App Store Connect or Play Console. There is no domain to buy, no server to rent and no DNS to configure. Because a store listing points at that URL for as long as the app is listed, use a paid plan for a page a live listing depends on: a free site is a trial window, not a permanent address.

Can I host the support page and account deletion page too?

Yes. Put all three in one .zip and upload it once: privacy.html, support.html and delete-account.html, each served at its own path on your subdomain. That covers the support URL App Store Connect requires and the deletion link Google Play's Data safety form requires. One thing a hosted page does not cover: Apple's guideline 5.1.1(v) asks for account deletion that can be started inside the app, so the web page is the Play requirement and a courtesy for Apple, not a substitute for the in-app flow.

Can I use a Google Doc or Notion page as my privacy policy URL?

You can paste one in, and that is exactly why it goes wrong. The console field accepts any string, but review opens the link, and a document that loads fine in your logged-in browser can still show a sign-in wall to a reviewer, which reads as a broken URL and gets the submission rejected. The same goes for a PDF in Drive and for a link to your homepage rather than the policy itself. A static HTML page on your own subdomain has no sharing settings to get wrong; open it in a private window and what you see is what review sees.

Is there a bandwidth limit on a free hosted site?

Yes, and it is published rather than discovered: 100 GB of traffic a month on free, 500 GB on Pro and 2000 GB on Studio. The allowance resets when the calendar month rolls over. For the pages this hosting is built for, a privacy policy or a support page, 100 GB is roughly fifty thousand visits a month, so it is not a number most sites go looking for. Worth knowing rather than worth worrying about. Note it only counts traffic to the hosted site: build downloads and install pages are on a different domain and are never metered against it.

Is BetaDrop's free hosting really free?

Yes. Free web hosting with no credit card: one website with its own subdomain, unlimited redeploys, and 1 GB of storage shared across your builds and hosted files. The limit is duration rather than money: a free site runs on a renewable window, and keeping it online permanently needs a paid plan. The next answer has the exact numbers.

Does my hosted site expire?

A free site stays live for 30 days and can be renewed once, free, from the dashboard. When the window runs out the site parks; the subdomain stays yours and the files are kept, so upgrading brings it straight back rather than making you redeploy. Paid plans have no window at all: the site stays live for as long as the subscription does. We send a reminder before a site parks. For a URL that sits on a public store listing, that reminder is the difference between a policy page and a 404 in front of your next reviewer.

How do I host an HTML file online for free?

Upload it. Sign in, open the static hosting page, and drag your index.html file into the dashboard. That is the whole process. Within a few seconds the file is served at your own subdomain over HTTPS, and you get a URL you can share, bookmark or paste into a form. There is no FTP client to configure, no cPanel, no DNS records to add, and no server to rent. If you have a whole folder of HTML, CSS and images rather than a single file, zip it and upload the zip instead: we unpack it and serve index.html as the front page.

Do I need to buy a domain or pay for a server?

No to both. Every site gets a free yourapp.betadrop.site subdomain with HTTPS already set up, so there is nothing to buy and no certificate to install or renew. You are not renting a server either: this is static file hosting, so there is no VPS, no cPanel, no FTP and nothing to keep patched. Bringing your own custom domain is not supported yet; if you need one today, a host that offers custom domains on its free tier is the better choice, and we would rather say so than waste your time.

What can I upload?

A .zip of your built site — the contents of your dist, build or out folder — or a single index.html or .htm file. Up to 100 MB per deploy. Static files only: HTML, CSS, JavaScript, images and fonts. There is no server-side runtime, so PHP, Node, Python and databases will not run; anything dynamic has to come from an API you host elsewhere and call from the browser.

Which frameworks work?

Any framework that produces static output: Vite, Next.js with output: export, Create React App, Astro, Hugo, Jekyll, SvelteKit with the static adapter, or hand-written HTML. Upload the built folder, not the source: we do not run a build step, so a .zip of your repository will not work. If your build assumes it is served from the root of a domain, that is fine here because each site gets its own subdomain; we show a heads-up if the files we find look like they expect a different base path.

How do I update or remove my site?

Drop a new .zip or index.html on the same site and it replaces what is there; the URL does not change, so anything already pointing at it keeps working. You can delete the site whenever you like, and it stops resolving immediately. Renaming your subdomain is possible but rate-limited, because a subdomain someone else has already linked to should not change casually.

What is the best free hosting for a small static website?

It depends on whether you have a Git repository, and being honest about that is more useful than a sales pitch. If your site lives in a repo and you want it to rebuild on every push, GitHub Pages, Netlify and Vercel are all excellent and all free: use one of them. BetaDrop is aimed at the case they serve worst: you have finished files and no repository, and you need a URL in the next two minutes. There is no Git remote to connect, no build to configure and no account verification to sit through; you drag a .zip or an index.html in and get a link. The trade is that a free site here runs on a renewable window rather than staying up indefinitely, and custom domains are not available yet.

Can I use my own custom domain?

Not yet. Every site today gets a free yourapp.betadrop.site subdomain, and custom domains are on the roadmap rather than in the product. We would rather say that than list a feature you cannot switch on. A betadrop.site subdomain is a perfectly acceptable privacy policy or support URL for both stores — neither Apple nor Google requires the page to sit on your own domain.

What are the rules for a subdomain name?

3 to 63 characters, using lowercase letters, numbers and hyphens. It cannot start or end with a hyphen or contain two hyphens in a row — the same rules DNS itself imposes. Names are first come, first served, and a handful are reserved.

Get the URL your submission is waiting on

Privacy policy, support page, account deletion — up to 100 MB per deploy, live on your own subdomain in seconds. Start on the 30-day free window and upgrade when the listing depends on it.