Skip to content

Claros v0.4.0

Choose a tag to compare

@umutgokbayrak umutgokbayrak released this 27 Jul 12:38
· 7 commits to main since this release

v0.4.0 - Sending

Claros now sends email.

What works in this release:

  • Approved messages are delivered through Resend. Every lifecycle email
    carries RFC 8058 one-click unsubscribe headers and a CAN-SPAM footer
    with the sender's postal address. A tenant without a postal address
    configured does not send at all rather than sending a non-compliant
    message.
  • Unsubscribing works. The one-click endpoint and the hosted page both
    write to the suppression list, and the suppression gate is checked
    before every send.
  • Bounces, complaints, opens, and clicks are ingested from signed
    provider webhooks. Permanent bounces and complaints suppress the
    address automatically.
  • Messages wait for human approval by default. Flows can be set to
    approve automatically.
  • An operator CLI covers first-run setup: postal address, model
    provider, and transport credentials, all stored encrypted. Credentials
    never live in environment files.
  • Login links are emailed once transport is configured, and printed to
    the console before that, so a fresh install is usable immediately.

What does not work yet:

  • Resend is the only transport. SES and SMTP are not implemented; the
    CLI accepts those names but nothing will send.
  • Bounce and open tracking needs a publicly reachable install and a
    webhook registered with the provider. It is untested against live
    provider traffic.
  • There is no dashboard. Everything is API or CLI.
  • No automatic pause on high bounce rates, and the per-tenant daily
    limit is stored but not enforced.
  • The knowledge base has no file upload, no crawling, and no search
    endpoint. Entries are created through the API.

Not ready for production use.