‌‌‌‌​​‌‌​‍‌​‌​‌‌‍‍‌​‍‌‌​​‌​​‌‌​‍ One script tag · Free tier · No sign-up

The show is being prepared.

Curtain drops a beautiful, branded holding page over your site with one script tag — for maintenance windows, soft launches, and client previews. Not a broken error page: a designed one, with a countdown to launch and a way for visitors to be the first to know.

Curtain coming-soon page
Launching Soon
Something new is on the way
06
Days
:
14
Hrs
:
22
Min
:
47
Sec
you@example.com Notify me
Features

A holding page that still sells, while you build.

Designed, not default

Curtain isn't a grey "503" or a half-loaded shell. It's a full-screen, brandable holding page — your logo, your accent, your headline — so even your maintenance window looks like the rest of your site. A pause that still feels on-brand.

Countdown to launch

Set a launch date and Curtain renders a live, ticking countdown — days, hours, minutes, seconds — and auto-lifts the overlay the instant you reach it. The site reveals itself on schedule, with nobody touching a thing.

Email capture for launch day

Let interested visitors leave an email so they're first to know when you go live. Addresses land in a PII-minimal, deduped store — a ready-made launch list, with no third-party form service and no tracker bloat.

Bypass links for previews

Hand your client a link like ?curtain_token=preview-2026 and they walk straight past the curtain to the real site — while everyone else still sees the holding page. The token sets a 30-day cookie, so they only need the link once.

Multiple templates

Pick the look that fits the moment: centered (logo and message, classic), split (an accent rail beside your content), or minimal (headline and a line, nothing else). Change a single attribute to switch.

One script tag, any site

Pure HTML/CSS/JS in a Shadow-DOM bubble — zero dependencies, no build step, no framework, no plugin to install. Drop it high in the <head> of WordPress, a static site, Webflow — anything that renders a <script> tag.

How it works

Curtain up in four lines, not four hours.

1

Drop in the script.

One <script> tag high in your <head>, with data-* attributes for your headline, message, logo, and accent color. The overlay paints before the real page does.

2

Flip it on.

Set data-enabled="true" and the branded holding page goes up over your whole site and locks background scroll. Set it back to false and the curtain never shows.

3

Set a launch time (optional).

Add data-launch-at and visitors get a live countdown plus a notify-me form. The overlay auto-disables the second your launch time arrives — a scheduled, hands-off go-live.

4

Share a preview link.

Give yourself and your client a ?curtain_token= link to slip behind the curtain and check the real site, while the public keeps seeing the holding page until you're ready.

What's included

The holding page is free. Countdowns, capture, and scale are paid.

Free covers a real, branded maintenance page with bypass previews. A license adds the launch countdown, email capture, more templates, and multi-site scale.

Maintenance overlay
Free
Headline + message
Free
Logo + accent color
Free
Centered template
Free
Bypass-token previews
Free
JS show / hide API
Free
Countdown timer
Paid
Scheduled go-live
Paid
Email capture
Paid
Split + minimal templates
Paid
Custom background
Paid
Multi-site license
Paid
Pricing

Free forever for a branded holding page. Paid when you need a countdown, a list, and scale.

Monthly Annual Save 15%
Free
Free
A branded maintenance page for one site
$0forever
No credit card
  • Maintenance overlay
  • Headline, message, logo, accent
  • Centered template
  • Bypass-token previews
  • Countdown timer (locked)
  • Email capture (locked)
Get Free
Agency
Agency
For studios launching many sites
$39.95/month
billed monthly
$39.95/mo$33.95/month
$407.40 billed annually
  • Everything in Single
  • 10 domains + subdomains
  • Per-domain launch lists
  • Multiple bypass tokens
  • Email support
  • Priority support
Unlimited
Unlimited
For high-volume studios & enterprises
$99/month
billed monthly
$99/mo$84.15/month
$1,009.80 billed annually
  • Everything in Agency
  • Unlimited domains
  • Priority support (<24hr)
  • White-glove onboarding
  • Early access to new plugins
  • Volume pricing on full Suite
FAQ

Questions

Is Curtain real access control, or just a visual overlay?

Curtain is a client-side overlay — it hides your site visually, which is exactly right for maintenance windows, soft launches, and client previews. It is not hard access control: a determined visitor could disable JavaScript and read the underlying markup. If you need true, edge-enforced gating where no markup leaves the server until the visitor authenticates, use Threshold, the edge-auth plugin in this suite.

How do my client and I see the real site behind the curtain?

Configure one or more bypass tokens, then share a link with the token, e.g. https://yoursite.com/?curtain_token=preview-2026. Visiting that URL passes you straight through and sets a curtain_bypass cookie for 30 days, so you only need the link once. Rotate access any time by changing the configured tokens — old cookies stop matching.

Does the free tier expire?

No. The free tier is a real, branded holding page forever — your headline, message, logo, and accent on the centered template, plus bypass-token previews and the show/hide JS API. You only need a license for the countdown timer, scheduled go-live, email capture, the split and minimal templates, custom backgrounds, and multi-site use.

What happens at my launch time?

On a paid plan, set data-launch-at to an ISO datetime and Curtain shows a live countdown. The moment that time arrives, the overlay auto-disables itself — the curtain lifts and your real site is revealed, no manual step and nobody needing to be awake for it.

What does the email capture store?

Only the raw email (needed so you can actually notify people), a hash of it as the key, the site, and a timestamp — no IP, no user-agent, no page content. The same address yields the same key, so the list dedupes itself, and records carry a 400-day TTL so a launch list doesn't live forever.

Will there be a flash of my unfinished site?

Drop the tag high in your <head> without defer and the overlay paints before the real page, so in practice visitors see the curtain first. On a very slow connection there can be a brief flash — that's inherent to any script-tag overlay. If you need a guaranteed no-flash, server-enforced gate, that's Threshold.

Get started

Raise the curtain when you're ready.

Add the free holding page to one site. See how good a maintenance window can look when it's designed instead of defaulted.