Features
Newsletter Management, Done Right
Multi-tenant newsletter infrastructure built for teams that need reliability, deliverability, and full control over the subscriber experience. Replaces Buttondown.com for all Renkara properties.
Subscriber Management
Signup, Verification, and List Management
Double Opt-In with Cryptographic Confirmation
Compliant double opt-in flows using 64-character cryptographically random confirmation tokens. Build a clean, engaged list from the start. Customizable confirmation emails per newsletter.
Subscriber Segmentation
Dynamic rule-based segmentation with real-time evaluation. Target subscribers by engagement level, tags, subscription date, custom attributes, or any combination. Segments update automatically as data changes.
Tag-Based Subscriber Organization
Flexible tagging system for subscribers. Create segments on the fly by combining tags with boolean logic. Tag subscribers manually, via automation rules, or through the API.
Subscriber Import and Export
Bulk import from CSV with field mapping. Export your full subscriber list at any time in CSV format. Your data is always portable and never locked into the platform.
One-Click Unsubscribe (RFC 8058)
Full RFC 8058 compliance with both GET and POST List-Unsubscribe headers. One-click unsubscribe works in Gmail, Apple Mail, Outlook, and every compliant client. Legal compliance built into every email.
Composition
Rich Text, Templates, and Personalization
Markdown Email Composer
Write emails in Markdown with a live HTML preview. No drag-and-drop template builders, no WYSIWYG editors that produce garbage HTML — just clean, fast composition for people who write.
Tiptap Rich Text Editor
Frontend editor built on Tiptap for rich text composition with Markdown shortcuts. Format text naturally with keyboard shortcuts while maintaining clean, semantic output under the hood.
Email Draft Management
Create, update, delete, and schedule email drafts. Work on multiple drafts simultaneously. Schedule sends for optimal delivery times or save drafts indefinitely for future use.
Jinja2 Sandboxed Templates
Per-subscriber personalization using Jinja2 sandboxed templates. Insert subscriber name, custom fields, dynamic content blocks, and conditional sections. Sandboxing prevents template injection attacks.
Automation Sequences
Welcome series, drip campaigns, and re-engagement flows. Define triggers, delays, and conditions. Set it up once and let it run — new subscribers automatically receive the right messages at the right time.
Email Delivery
SendGrid Integration and Deliverability
SendGrid v3 Integration
Production email delivery via SendGrid v3 API. Inbound webhook verification using HMAC-SHA256 for bounce, spam complaint, and delivery event processing. High deliverability with proper feedback loop handling.
MJML Email Rendering
Markdown is converted to email-safe HTML via MJML through an emailmd Node.js sidecar process. The result renders correctly in Gmail, Outlook, Apple Mail, and every other major client — responsive on every screen size.
Test Email Sending
Send test emails to yourself or a test list before broadcasting to your full audience. Preview exactly how the email renders in real inboxes. Catch formatting issues before they reach subscribers.
Open and Click Tracking
Per-email engagement metrics: open rate, click-through rate, unique clicks, and per-link breakdown. Track which content drives engagement and which falls flat. Privacy-first: tracking disabled by default per newsletter.
Subscriber Growth and Engagement Analytics
Time-series visualization of subscriber growth, engagement trends, and churn rates. Cohort analysis shows how engagement evolves over subscriber lifetime. Understand your audience's behavior, not just their count.
Archive
Public Archive Pages
Public Archive Pages
Auto-generated public archive of past newsletters with DOMPurify sanitization to prevent XSS. SEO-friendly pages that drive organic traffic back to your subscription page. Each newsletter gets its own archive URL.
Multi-Tenancy
Per-Newsletter Config, API Keys, and CORS
Multi-Tenant Newsletter Management
Run multiple independent newsletters from a single instance. Each tenant has isolated subscriber lists, templates, API keys, and analytics. One platform, many publications, zero cross-contamination.
Per-Newsletter API Keys
Each newsletter gets its own API keys, hashed with SHA-256 for secure storage. Create, rotate, and revoke keys independently per tenant. Programmatic access scoped to exactly the newsletter that needs it.
Configurable CORS Per Newsletter
Each newsletter can specify its own allowed origins for cross-origin requests. Embed signup forms on any website with properly scoped CORS headers — no wildcard origins, no security compromises.
AWS Lambda Integration
Serverless signup form processing via AWS Lambda. Deploy lightweight signup handlers that call the Herald API without running a dedicated server. Perfect for static sites and landing pages.
Webhook Integrations
Outbound webhooks with configurable endpoints for subscription events, email sends, opens, and clicks. Integrate with your CRM, analytics, or any system that accepts HTTP callbacks.
MCP Server — 49 Tools
Full Model Context Protocol server with 49 tools covering all admin endpoints. Manage subscribers, compose emails, trigger automations, query analytics, and configure newsletters — all from your AI assistant.
Buttondown.com Replacement
Built specifically to replace Buttondown.com for all Renkara properties. Full feature parity plus multi-tenancy, automation sequences, and MCP integration that Buttondown never offered.
Security
Webhook Verification, Spam Protection, and Privacy
Privacy-First Architecture
Open and click tracking disabled by default on every newsletter. Enable tracking only when you explicitly choose to. Respect subscriber privacy as the default, not an afterthought.
Honeypot Spam Protection
Invisible honeypot fields on signup forms catch automated bot submissions without annoying real users with CAPTCHAs. Simple, effective, and zero-friction for legitimate subscribers.
How It Works
From Compose to Inbox
Compose
Write in Markdown or Tiptap rich text. MJML rendering via the emailmd sidecar ensures pixel-perfect display in every email client.
Target
Select your audience with dynamic segment rules, tag combinations, or full list. Jinja2 templates personalize each email with subscriber-specific content.
Send
Deliver via SendGrid v3 with high deliverability. RFC 8058 one-click unsubscribe headers included automatically in every email.
Analyze
Track opens, clicks, and engagement per email and per subscriber. Review growth trends and cohort analytics to optimize future sends.
Technical Specifications
Under the Hood
Backend
- FastAPI (Python 3.12+)
- PostgreSQL database
- SendGrid v3 email delivery
- HMAC-SHA256 webhook verification
- emailmd Node.js sidecar (MJML rendering)
- Jinja2 sandboxed template engine
- MCP server (49 tools)
Frontend
- React 19
- Tiptap rich text editor
- Markdown composer with live HTML preview
- Subscriber management UI
- Engagement analytics dashboard
- Light and dark mode
Compliance and Security
- RFC 8058 one-click unsubscribe (GET + POST)
- Double opt-in with 64-char random tokens
- CAN-SPAM compliant
- SHA-256 hashed API keys per newsletter
- DOMPurify sanitization on archive pages
- Honeypot spam protection
- Configurable CORS per newsletter
Multi-Tenant
- Isolated subscriber lists per newsletter
- Per-tenant templates, branding, and API keys
- Privacy-first: tracking off by default
- AWS Lambda serverless signup integration
- Webhook integrations per tenant
Development
100% Built by Claude
Herald was built entirely by Claude (Anthropic) working alongside a single human supervisor. Every line of code, every test, every deployment: AI-authored with human direction.