Diane, 11:30 a.m., February 24th. Entering the town of Twin Peaks.

A damn fine comment box.

Dead simple and privacy-first. Two lines of HTML, no accounts for your readers, no cookies, no CAPTCHA. A Disqus alternative.

see it running at the bottom of this page →
+ + + the comment box at the bottom of this page is this product + + +

Sign in, add your domain, paste this

<script async defer src="https://diane.to/w.js"></script>
<to-diane></to-diane>

Register your domain once and that is the last piece of setup. The site is derived from the Origin header, the page from its URL, so there is no key to paste into the snippet and no per-page configuration to keep in sync.

No reader accounts

Nobody signs in to leave a comment, and nobody signs in to read them either. You have an account; the people writing on your site do not.

Nothing goes up unread

A new site holds comments until you approve them. Whoever wrote one sees it on the page, greyed out and waiting; nobody else sees it at all. Switch it off per site and comments appear the moment they are written.

No cookies

The widget sets none and reads none. The one thing it keeps in a reader's browser is the id of their own comment while it waits for you. IP addresses are stored as a hash, only ever compared for equality, and never returned by any endpoint.

No CAPTCHA

A honeypot, a signed nonce and a rate limit do the same work without asking your readers to prove they are human.

23 kB

One script, one request, no runtime dependencies. It takes a single colour from your page and mixes the rest, so it matches the site it sits in rather than the visitor's operating system.

This page runs it too.

Same widget, same API, same 23 kB you would embed. Say something below; unlike the Diane on the other end of Cooper's tapes, this one keeps it.