Skip to content
Hazelsong is still being built.Skip to content
Hazelsong

Publish

The link you send should have your name on it

Your form and your walls at acme.hazelsong.com, or at testimonials.acme.com on a domain you own outright, with the certificate issued and the DNS record you need spelled out.

PlanStarter and Pro. The watch costs nothing: two calls to the host's API per domain on the daily run, which the host does not charge for.

How it works

Your own address, step by step

  1. A name on our domain, or your own

    Either is a paid feature; both work the same way for the person clicking.

  2. You prove the domain is yours first

    When you save your own domain, Hazelsong makes a TXT record for your project and that name, named _hazelsong.<your domain>, and shows you its value once. Until that record is found in your DNS the domain is pending: it is not registered with the host, nothing is served on it, and it does not stop any other project. Press Verify once you have added it. This is what stops somebody else from putting their page on a name you own, including one you once pointed here and later removed. Only a fingerprint of the value is kept, so if you lose it, make a new one.

  3. The certificate is arranged for you

    Once it is verified you add one more DNS record, the CNAME or the A record; the rest is done here.

  4. It is claimed, never written over

    An address is taken with a claim that fails if somebody already has it — never a plain write that could hand one business's wall to another. A pending domain claims nothing, so the first project to prove a name is the one that holds it.

  5. The widget from your own domain too

    The same domain serves your widget, its testimonials, pictures, videos and counts, and the ask dialog, for your project only — so the two lines on your site can name your address rather than ours. Walls and widgets writes them that way when you choose it.

  6. Watched once it works

    Once your own domain has answered, the daily run asks the host about it again: whether it still points here, and whether the host can still confirm it is yours. If not, your report's "Is anything broken?" says so with the exact DNS record to add — the CNAME, the A record on a bare domain, or the TXT record the host asks for — and when the same check fails twice in a row you get one email, at most once a week while it lasts. The first check that finds it answering again clears the line.

Safe by design

The rule that makes it safe to have

Clear boundaries

What it will not do

Every capability page ends with this list. It is the part that says what you are actually buying.

  • It will not register or serve a domain before its TXT record is found in your DNS.
  • It will not take an address that is in use.
  • It does not sell you the domain.
  • It will not tell you a domain is broken while it is still being set up, or because the host did not answer: only an answer that says so counts, and only for a domain that once worked.
  • It will not change your DNS. It tells you the record; adding it is yours.
  • Your domain will not serve another project's widget, testimonials, pictures or counts: asked for there, they are not found.

Where it lives in the code: lib/domain-proof.ts · app/api/domains/route.ts · scripts/domain-proof-check.mjs · lib/domains.ts · lib/domain-watch.ts · lib/domain-watch-rules.ts · lib/care.ts · proxy.ts · lib/own-domain-rules.ts · scripts/own-domain-widget.mjs · app/d/[host]/page.tsx

Questions

Asked about this

From Help, where every answer is written from the product as it runs.

How much code is it?

Two lines: a script tag and a div. The layout is a query string on the script tag, or a data attribute on the div — both of which live in your page, so turning a wall into a marquee later means editing those two lines where you pasted them. There is nothing to rebuild at this end.

It shows nothing on my page.

Three usual causes, in order of likelihood: nothing is published yet (Pending is not published); the builder you are using strips script tags from block content, in which case the tag goes in the theme footer; or you are looking at the editor preview rather than the live page, which is normal on Webflow, Framer, Elementor and Squarespace.

Can I embed it in Notion or a newsletter?

No, and not because of us: neither runs a third-party script. Link the hosted wall in Notion, and use a testimonial image in the newsletter. Email has not run JavaScript for twenty years.

Does the widget slow my page down?

It is one small script with no framework behind it and no font to fetch. It draws after your page has drawn.

More on putting them on your site

This is running now

Open a project and use it. Nothing on this page is a roadmap.