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

Read and decide

Leaving completely, and being able to check that you did

A project can be destroyed by the person who owns it: every record it holds and every file under its storage, named one by one rather than swept up by a pattern. You type the project's name to confirm, because nothing here is recoverable afterward.

PlanEvery plan.

How it works

Ending a project, step by step

  1. Every key is named in full

    Not a wildcard. A list, in one file and in the files it takes key names from, that a check walks the entire store to verify — every key's name, and every member of the queue all projects share — and it fails if a single one of that project survives.

  2. The files go too

    Everything under the project's storage prefix: the recordings, the photographs, the screenshots.

  3. So do the histories and the index of words

    Each testimonial's history, and the index that notices the same words twice, which holds fingerprints and ids rather than the words. Deleting one testimonial takes its history with it too.

  4. Closed first, finished even if it stops

    The moment you confirm, the project closes: no testimonial can arrive and none of its pages or links open. Its own record is the last thing deleted, so if deleting stops part-way — a timeout, a refused request — the project stays closed and the daily run finishes deleting it within a day, without you pressing anything again.

  5. The owner's link is the only one that may ask

    A seat runs a project; only the person whose business it is may end it.

  6. When a paid plan ends, 30 days and three emails

    After a paid plan ends, its projects keep everything for 30 days, with the export there on the free plan throughout. The address on the account is emailed when the plan ends, 14 days before the day and 7 days before it. If no plan has been started again by then, the projects the plan paid for are deleted completely, in the same way as here, never before all three emails went out and the last is a week old, and only after the payment provider confirms the subscription has ended. A project given a plan of its own, or paying on its own subscription, is left as it is.

  7. Or hand it to somebody else instead

    When the project should go on without you — a client you set it up for, a business you sold — hand it over rather than delete it: the new owner accepts from a link sent to their own address, and nothing is deleted.

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 cancel your subscription — that lives with the payment provider, and the answer says so rather than letting you find out from a bank statement.
  • It will not keep a copy for analytics.
  • Handing the project over instead deletes nothing and does not cancel your subscription either; it stays yours, and the project leaves it.
  • It will not remove the webhook from a store you connected: its receiving address answers nothing once the project is gone, and the webhook in Stripe, Shopify, WooCommerce or Lemon Squeezy is yours to delete there.
  • It will not leave a project half deleted and still open: once deleting begins nothing new can arrive, and what is left is finished automatically.
  • It cannot be undone.
  • It will not delete a project because a plan ended without three emails to the account first, the last at least a week old, and never while the payment provider says a plan is live or cannot be asked.

Where it lives in the code: lib/destroy.ts · scripts/destroy.mjs · components/DeleteProject.tsx · lib/transfer.ts · lib/plan-closing.ts · lib/plan-closing-rules.ts

Questions

Asked about this

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

Can you read my testimonials?

An operator can open a dashboard, and the privacy page says so in plain words: we can, we do it to answer a request you made or a fault you reported, and not otherwise.

Is my customer's email address ever public?

No. An author's email address is in no public answer, from any endpoint, on any plan.

Can I give somebody access without giving them my link?

Yes — a seat has its own link and its own permissions, and revoking it revokes only that one. A seat cannot delete the project or add a paid extra to your subscription.

Does the widget track my visitors?

It counts views, plays and clicks per widget so you can tell whether anybody is reading them. There is no visitor profile and no cross-site identifier. Your page's visitors are not our product.

More on privacy and access

This is running now

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