Collecting answers
A site here is static, which normally means a form on it has nowhere to post. This is that nowhere.
The form
Post to /_solta/forms/ and a name of your choosing, at your site's own address. Then turn the form on: Site settings → Forms lists every form its code posts to, each with a switch, and with Email me each answer if you want them as they come. A form is off until you turn it on, so a template's form or one an AI wrote keeps nothing you didn't choose. While it is off, a post is answered 409 with not_collecting, and the page can say its answer stayed on the visitor's device.
<form method="post" action="/_solta/forms/signup">
<input name="email" type="email" required />
<textarea name="note"></textarea>
<button>Send</button>
</form>That is a plain form and it works. If you would rather send JSON, post JSON to the same address — every field becomes a column.
Why your own address
The action is a path, not a URL somewhere else. That is deliberate: a form posting to another origin is a cross-origin request the browser will either block or make you fight, and the point of a static site is that you do not have a server to fight it with. Your site posts to your site.
Reading them
Open the site and there is an Answers tab beside Comments and Versions, newest first, with a CSV button. Only you see it.
A value that starts with =, +, - or @ is a formula to a spreadsheet, and answers come from strangers. We prefix those so the text stays readable and the formula does not run.
The limits
Free collects 100 answers a month, on sites that belong to an account, keeps them for 30 days and sends you one email a day with what came in. Free forms can't take passwords, card numbers or codes. Pro collects 1,000 a month, emails you each one if you like, and keeps them as long as you choose. Beyond that: sixty fields, eight kilobytes a field, and twenty answers an hour from one address, which is far more than a person fills in and much less than a script would like.
On Pro and Team, answers are kept for a year by default, then deleted. You choose, per form, in the Answers tab: 30 days, a year, or until you delete them. They are yours to export at any time.
Newsletter sign-ups
On Pro and Team, a site can keep a mailing list. Site settings → Newsletter sets it up in three steps: turn on Newsletter sign-ups; add a sign-up form, with Ask your AI to add it (a message to paste into the chat you build with) or the HTML; and check it is there, which reads the live version for a form that posts to /_solta/subscribe. If the live version has one while sign-ups are off, it says so, and so does the connector when it saves one. By hand, a form like this goes anywhere in the site:
<form method="post" action="/_solta/subscribe"> <input type="email" name="email" required> <button>Subscribe</button> </form>
It works with no script. With one, post { email } as JSON to the same address and show “check your email”. We email each address a link to confirm, and only the ones who use it join the list, so an address somebody else typed hears from us once and never again. The same address signing up twice gets one email.
The list is yours to export as a CSV, confirmed addresses only, each with its own unsubscribe link to put in what you send. Using it deletes the address. We don't send your newsletter; you do, from whatever you use for email.
To keep these emails out of spam folders, an address that bounces or marks one as spam is never sent another, from any site. If several people mark a site's confirmations as spam, we pause its sign-ups and email you; that usually means a bot is typing in addresses.

