PayGlueSecure your spot

What's new

Changelog

Everything shipped and a few things we decided not to build. Looking ahead? See the roadmap.

LegendShippedPivotReconsideredWon't build

August 2026

v0.34

Support
Shipped

Support requests you can actually follow

Writing in from the dashboard now gives you a subject line of your own, a reference you can quote, and a status that moves on its own as we work on it. You can also change the address we reply to, which used to look like a choice and quietly was not.

  • Name your request yourself instead of us guessing from the first line
  • The reply address is yours to change, and it is checked before you send
  • Status follows the ticket, so you see Active or Closed without asking
  • Provider cards say Connected when the connection is fine, and only ask for attention when a delivery really needs you

August 2026

v0.33

Reliability
Shipped

One product, one outcome, whichever button they clicked

A payment tells us which product was bought. It never tells us which buy button, paywall or pricing column it was bought from, because that is not in the webhook. So there can only be one answer to the question "what happens in Ghost when somebody buys this". Until today the same product could carry a different answer for each widget it appeared in, and a purchase applied all of them in the order they happened to be stored. Nobody lost access, everybody got that, but whether the buyer was subscribed to your newsletter and which label they were given depended on which widget you had saved last. That is now impossible rather than merely avoided: the database refuses a second answer for the same product. The rule is also written by the server as part of saving the widget, so a widget that takes money without granting anything is no longer a state that can exist.

  • One rule per product, enforced by the database rather than by whichever editor happens to be saving
  • Saving a widget writes its rule in the same step, so the two can never disagree
  • Product Mapping now says what a purchase does, in a sentence, and lists every widget offering that product
  • The check for the paywall script now confirms the script belongs to your publication, instead of accepting any PayGlue script it finds
  • Blog articles no longer scroll sideways on a phone, and one article can no longer end up with a different text size than the rest

August 2026

v0.32

Website
Shipped

What's new is written once now, and published without a release

This page and the bell in the dashboard were two lists typed into the source code, unaware of each other. Every announcement was written twice, in two voices that drifted, and shipping one meant releasing the whole application. The unread dot had the same problem in miniature: it meant "the list is not empty", which is always true, so after the first look it told nobody anything. Both read one table now. A line is published by saving it, and the dot means what it says. Each item in the bell links to its own entry down this page instead of dropping you at the top of forty-five of them.

  • The changelog page and the dashboard bell read the same source, so they cannot say different things
  • The unread dot compares against the last entry this browser has seen, and clears when the bell is opened
  • The bell shows the four newest and links here for the rest, enforced in code rather than by remembering to delete the oldest
  • Every entry has its own address on this page, so a link can point at one thing
  • The page keeps a generated copy of itself, so a backend outage cannot leave you with an empty changelog that still reports success

August 2026

v0.31

Website
Shipped

Every page now arrives as a page, not as an empty shell

Until today this site was one application that drew itself in your browser after the fact. That works for a dashboard behind a login. It is a poor answer for a page somebody found through a search: what a search engine received was the same empty file for eighteen different addresses, with the same title and the same seventy-eight words, and whatever it made of that came later, if at all. The changelog you are reading was the clearest case, months of entries that were invisible to anybody who did not run JavaScript. Every marketing page is now built to finished HTML: the landing page went from nothing to just under three thousand words, this page to over four and a half thousand. The dashboard is untouched, it stays the application it should be.

  • The landing page, the comparisons, the roadmap, this changelog, the security manifest, the legal pages, both forms and the founding page ship as HTML
  • Each of them carries its own title, its own description and its own canonical address
  • An address that does not exist now answers with a real 404 instead of a page that claims to exist
  • One sitemap instead of two, generated from the pages that were actually built rather than maintained by hand
  • The price on the landing page no longer waits on two hundred kilobytes of JavaScript before it appears
  • Every internal link is checked against the built site before a release goes out, so a link to a page that was never generated fails the build

August 2026

v0.30

Open source
Shipped

Run it yourself without signing up for anything first

Until this release, starting your own copy of PayGlue began with creating an account at a hosted identity service. Not as a recommendation: the dashboard threw an error at startup without it, so the software would not boot at all. That is a strange thing to ask of somebody who wanted twenty minutes to decide whether the tool was worth their time. An installation can now keep its accounts in its own database, and a setup wizard walks through the first account instead of showing a sign-in page you have no key for. A hosted provider stays fully supported and still brings what only it can, magic links, sign-in with Google or GitHub, and authenticator apps. Where those do not exist, the screens for them are left out rather than shown and broken. Then we followed our own setup guide on a clean laptop, and it broke on step one. Both bugs it found are fixed here.

  • Accounts can live in the installation itself, so nothing has to be signed up for elsewhere
  • A two-step setup wizard on first run, which closes for good once an account exists
  • The first account is settled by a database constraint, so two simultaneous requests cannot both become the administrator
  • The password rules the form shows are the rules the server enforces, and nothing else
  • The example environment file no longer overrides a working default with a placeholder that stops the app from starting
  • Host ports come from the environment, so an install works on a machine that already runs Postgres

August 2026

v0.29

Open source
Shipped

The open-source build stopped pointing at our servers

PayGlue is source-available, and anyone can run it themselves. Until this release, an install that did so was quietly tied to ours. The snippet you copied out of your own dashboard carried our address, so your readers' browsers talked to our server instead of yours. The check that tells you whether the paywall is installed compared your site against our hostname, so it said no matter how correctly you had set it up. Your checkout could not finish, because the list of allowed return addresses was ours. And the welcome mail going to your customers was signed with our name. None of that was a decision, it was what happens when a product and its open-source build grow out of the same code without anybody checking which one a value belongs to. It is fixed, and this is the release where running PayGlue yourself actually means running it yourself.

  • Embedded scripts work out their own backend from the tag they were loaded from, so nothing has to be configured and it stays right behind any proxy
  • The installed check looks at the path, not at whose domain it is
  • Checkout accepts your own dashboard as a return address
  • Seeded emails carry no name and no links, and arrive switched off so you read them before your customers do
  • No product analytics at all: no package, no key, nothing sent anywhere
  • Six security advisories closed, none left open

August 2026

v0.28

Reliability
Shipped

A purchase that grants nothing no longer looks like a success

A product without a mapping takes the payment, gets accepted, and grants nobody anything. That is the intended behaviour, and until now three separate parts of the dashboard reported it as fine: the editor saved without complaint, the badge saying it was unmapped sat in grey, and the event log marked it processed in green. Somebody paid, nothing happened, and there was no red anywhere. Each of the three now says what it means, and the event can be run again once the mapping exists.

  • A mapping that fails to save says so, instead of the widget reporting success anyway
  • Not mapped is a red warning rather than a grey aside, in the Buy Button, Paywall and Pricing Table editors
  • Processed events can be replayed, so adding a missing mapping no longer means granting access by hand
  • Replay asks first and says what it will do, including that an existing member is left unchanged and nothing is charged again
  • The paywall recognises your existing Stripe subscribers, so moving a post onto it keeps the people who have been paying longest
  • Switching publication reloads the page you are on, instead of showing the previous one until you refresh

August 2026

v0.27

Content
Pivot

The blog moved onto the product domain, and the old one became the demo

Running the blog on a Ghost site at blog.payglue.io was the obvious choice, since we sell to Ghost publishers. It also meant every article we wrote was building a subdomain instead of the domain people actually buy from. A search engine treats those as two different places, so the work was landing in the wrong account. The blog now sits at payglue.io/blog, which is where it should have been from the start. And the Ghost site does not get switched off, it gets a better job: it is the live demo, running the real paywall, buttons and pricing table against a real provider.

  • payglue.io/blog: 36 articles on the product domain, where the traffic is worth something
  • Every old article redirects to its new home, so nothing that was already ranking gets dropped
  • blog.payglue.io stays live as the demo you can walk into rather than an archive nobody visits
  • Articles that a model helped draft say so, in the byline, on the article

July 2026

v0.26

Growth
Shipped

Get paid for the recommendations you were making anyway

Most of the people who find PayGlue were told about it by somebody else. There was never a way for that somebody to get anything out of it. There is now, and the page shows you what a handful of referrals is actually worth instead of asking you to take a number on faith.

  • Settings, Affiliate: join the programme in one click, no application to write
  • 40% of every payment your referrals make, for as long as they stay
  • 30 day cookie window, nothing to pay to join, and no minimum payout
  • A calculator built on the real plan prices, so pick a plan, drag the slider, see the year

July 2026

v0.25

Support
Shipped

The docs sit next to the contact form now

Support looked like a wall: one narrow form, and a support PIN sitting above it as though everybody needed one. Most questions are answered in the docs faster than we can reply, and almost nobody needs the PIN, so the page now says both of those things out loud.

  • Pick a topic before you write, or skip it, the cards are a shortcut and not a gate
  • The docs, changelog, roadmap and status page sit beside the form, each with a line on when it is the better stop
  • The support PIN is marked clearly as something you only need when we ask for it
  • A help menu in the dashboard header, replacing the single docs button

July 2026

v0.24

Security
Shipped

Confirming something serious no longer means logging out

Handing over a publication or closing an account used to bounce you out of the dashboard and make you sign in again, which is a strange thing to ask of somebody who is already signed in. A confirmation window now opens where you are: your authenticator app if you have one set up, otherwise a code by email.

  • Step-up confirmation for ownership transfers and account deletion, in an overlay rather than a logout
  • Uses your authenticator app when you have one, and falls back to a one-time code by email
  • Each confirmation is good for one action only, so an approval cannot be reused later
  • Deleting your account now really deletes it, with a confirmation email and a page explaining what is gone

July 2026

v0.23

Team
Shipped

Nobody gets removed from a team quietly

Removing a teammate was a change only the person clicking the button ever saw. That is fine when it is routine and bad when it is not, so the same email now goes to everybody with a reason to know about it.

  • The removed member is told they no longer have access
  • The owner and the admins are told who was removed and by whom
  • Each email goes out separately, so nobody sees anybody else's address

July 2026

Access
Pivot

The waitlist is gone, PayGlue is in open beta

Collecting addresses and letting them wait made sense while there was nothing to hand people. There is now, so the waitlist and the third-party tool behind it are both retired. You can sign up and connect a provider today.

  • Sign up directly, no invitation needed and no queue to join
  • The Prefinery waitlist and every mention of it are removed, including from the privacy policy
  • Founding member pricing is still available at payglue.io/founding while it lasts

July 2026

Trust
Pivot

Your DPA, and a list of everyone who touches your data

If you have ever had to answer a GDPR question about a tool you use, you know the drill: hunt for the data processing agreement, then try to find out which sub-processors are actually involved. Both are now one click away, and they stay that way.

  • Settings, Documents: download the signed Data Processing Agreement any time
  • A public sub-processor list at payglue.io/subprocessors, with what each one does and where it runs
  • New sub-processors are announced there at least 30 days before they go live, with a dated history so you can check
  • Spelled out on the page: your payment providers are not our sub-processors, you engage them directly

July 2026

v0.22

Team
Fixed

Everyone hears how an ownership transfer ended

Handing a publication to a teammate only ever emailed one person: the current owner, asking them to confirm. The person being handed the publication was never told, and nobody found out how it ended. Fixed.

  • The proposed owner is told when they are nominated
  • Everyone involved gets a confirmation when the transfer completes
  • Everyone involved is told when it is rejected or cancelled
  • Each email goes out separately, so nobody sees anybody else's address

July 2026

v0.21

Reliability
Shipped

Test any connection without a real purchase

You no longer have to wait for a real sale to find out whether a provider connection actually works. Each mapping now has a "Send test" button that runs a real event through the full pipeline against a test email you control, and tells you straight away whether the member was granted in Ghost, or exactly what went wrong.

  • One click per mapping, from the Product Mapping page
  • Runs the real resolver and Ghost sync, so it catches wrong API keys and broken mappings before your customers do
  • Clear result: member granted, or the concrete error
  • Works for every provider, including Patreon

July 2026

v0.20

Providers
Shipped

Patreon support

Patreon joins our supported providers. Connect your Patreon campaign and an active pledge automatically grants the Ghost access you mapped it to. A cancelled pledge revokes it, no manual CSV exports or Zapier workflows to maintain.

  • Map each Patreon tier to the Ghost access it unlocks, right from the dashboard
  • Active patrons get access automatically; cancelled pledges lose it automatically
  • Your tiers load into the Buy Button, Paywall, and Pricing Table editors
  • Signed webhooks, set up once in the Patreon developer portal

July 2026

Providers
Reconsidered

Mollie payment provider

We looked closely at adding Mollie, a popular European provider several of you asked for. After working through their API, we've decided to hold off for now. Mollie is built primarily for one-off e-commerce payments. Its recurring model asks each creator to build and run their own subscription integration, which doesn't fit PayGlue's "share a link, we handle the rest" approach. Only one-time payments would map cleanly today, and for that narrow slice the effort isn't justified yet. It's back on the backlog, not off the table. If enough of you need Mollie for one-time sales, we'll revisit.

July 2026

v0.19

Account
Shipped

Grace periods for downgrades and cancellations, plus reminder emails

Changing your mind about a plan shouldn't mean losing access overnight. Downgrading to a lower plan or canceling your subscription now comes with a clear grace period before anything actually changes, with a few reminder emails along the way so nothing catches you off guard.

  • Downgrading to a lower plan: full access continues for 30 days before any workspace over your new limit is paused
  • Canceling your subscription: nothing is removed right away: you get a 30-day window, with a heads-up email at the start and reminders as it winds down
  • Paused or soon-to-expire workspaces are clearly marked in your dashboard so you always know where you stand

July 2026

v0.17

Account
Shipped

Sign in with Google or GitHub

By popular request, you can now sign in with your Google or GitHub account instead of (or alongside) a magic link email. Both can be connected from your account settings at any time.

  • One-click sign in with Google or GitHub on the login page
  • Connect or disconnect either provider anytime from Preferences
  • Magic link email sign-in still works exactly as before

July 2026

v0.16

Dashboard
Shipped

Redesigned dashboard navigation, Ko-fi support

The dashboard navigation got a cleaner, Finder-style layout: a slim icon rail for the main sections, with a workspace switcher and tabs up top instead of a deep sidebar tree. We also added Ko-fi as a payment provider, popular with the Ghost community for tips and memberships.

  • New breadcrumb + tabs navigation across the whole dashboard
  • Ko-fi connection: sync donations and memberships to Ghost access
  • Six payment providers now supported end to end

July 2026

v0.14

Security
Shipped

Per-tenant webhook secrets

Every account now gets its own unique, randomly generated secret embedded in its webhook URL. Not every payment provider reliably signs its webhook payloads, so we'd rather not rely on that alone. A per-tenant secret keeps each account's webhook delivery isolated regardless of what a given provider does or doesn't verify on their end.

  • Unique webhook secret generated automatically for every account
  • Already-configured webhook URLs keep working, nothing to update on your end
  • Applies across all five supported payment providers

July 2026

v0.13

Providers
Shipped

Paddle support

Paddle joins Polar, Lemon Squeezy, PayPal, and Gumroad as a fully supported payment provider. Connect it, sync member access on completed transactions and subscription changes, and pull your product list straight into the Buy Button dashboard.

  • New Paddle connection: API key + webhook secret, sandbox auto-detected
  • Paddle products load automatically in the Buy Button dashboard
  • Webhook delivery confirmed against a real live purchase

July 2026

v0.12

Providers
Shipped

Gumroad support + live system status page

Gumroad joins Polar, Lemon Squeezy, and PayPal as a fully supported payment provider. Connect it, sync member access on sales, and pull your product list straight into the Buy Button dashboard. Alongside that, our infrastructure status is now public and monitored in real time.

  • New Gumroad connection: application credentials + webhook sync for sale and subscription events
  • Gumroad products load automatically in the Buy Button dashboard, checkout links included
  • status.payglue.io is live: real-time monitoring for the website, backend, database, cache, and background workers
  • Live status badge added to the site footer

July 2026

v0.11

Infrastructure
Shipped

Automated dependency security scanning + CI pipeline

Added automated dependency security scanning (Dependabot) and a CI pipeline with test coverage across both the open-source and production codebase.

  • Dependabot now watches every dependency in both repos and opens weekly update PRs
  • CI runs the full build and test suite on every pull request before it can merge
  • Backend tests run against a real Postgres instance, matching production

June 2026

v0.10

Open Source
PivotStrategic decision · Impact: community

PayGlue goes open source

After months of building in closed beta, we made the full codebase public. This was not a planned milestone from day one. It became the obvious next step once the closed beta validated that the product works and people genuinely need it. Open sourcing is how we earn trust beyond what any privacy page can say.

  • Full codebase published at github.com/PayGlue/PayGlue-OS under BUSL 1.1 (converts to Apache 2.0 in 2030)
  • Self-hosting is free: run PayGlue on your own infrastructure with no license fee
  • SETUP.md: complete setup guide for Ghost, Polar, Lemon Squeezy, PayPal, and Cloudflare Workers
  • Thank you to every beta tester, waitlist member, and early adopter who shaped this product, you made this possible
  • Hosted version remains in closed beta at payglue.io/waitlist

June 2026

v0.10

Integration
Shipped

PayPal: Connect as a payment provider

PayPal is now a fully supported payment provider. Subscribers who purchase through a PayPal subscription plan automatically receive Ghost membership access via the same mapping system used for Polar and Lemon Squeezy.

  • Webhook handler: OAuth 2.0 signature verification via PayPal's verify-webhook-signature API
  • Event mapping: BILLING.SUBSCRIPTION.ACTIVATED/CANCELLED/EXPIRED/SUSPENDED translate to Ghost membership actions
  • Dashboard connection page: step-by-step setup guide for Client ID, Client Secret, and Webhook ID
  • Product picker: loads active PayPal subscription plans directly from your account in Buy Button, Paywall, and Pricing Table editors
  • Checkout link: subscription plans link to PayPal's hosted checkout page, where buyers log in with their PayPal account
  • Setup docs: full guide published at docs.payglue.io/providers/paypal

June 2026

v0.9

Integration
Shipped

Lemon Squeezy: Connect as a payment provider

Lemon Squeezy is now a fully supported payment provider. Purchases made through Lemon Squeezy automatically create Ghost members, assign labels, and send welcome emails via the same mapping system used for Polar.

  • Webhook handler: HMAC-SHA256 signature verification via X-Signature header
  • Event mapping: order_created and subscription events translate to Ghost membership actions
  • Dashboard connection page: step-by-step setup guide for webhook URL and signing secret
  • Product picker: loads Lemon Squeezy products from your store, including test-mode products
  • Analytics: webhook events and product mappings visible in the Analytics section

June 2026

v0.9

Dashboard
Shipped

Analytics: Webhook Events and Product Mapping as dedicated pages

The Analytics section is restructured. Webhook Events and Product Mapping are now separate pages accessible from an expandable sidebar section, making it easier to monitor activity and review your configuration at a glance.

  • Webhook Events: inbound delivery log with status filter, error details, and replay for failed events
  • Product Mapping: read-only table showing all active mappings with their trigger, newsletter, and email settings
  • Mobile navigation: icons added to section headers for faster orientation

June 2026

v0.8

Feature
Shipped

Pricing Table: Free, one-time, and subscription tiers in one table

Ghost cannot mix a free tier, a one-time payment, and a subscription into a single coherent pricing table. This embed does exactly that. Paste one script tag into a Ghost HTML card and a fully styled table appears.

  • Up to 3 tiers per table: free sign-up (opens Ghost portal), one-time payment, or recurring subscription
  • Three templates: Classic (elevated highlight card), Bold (colored highlight card), Minimal (clean lines)
  • Monthly/yearly toggle with separate pricing per tier
  • Embed inline in a Ghost HTML card, and full-bleed width breaks out of Ghost's content column automatically
  • Or use the overlay button: one button opens the table in a full-screen modal overlay
  • Customizable accent color for buttons, toggle, ribbon badge, and highlighted card

June 2026

v0.6

Feature
Shipped

JS Paywall: Content gating without Stripe

Ghost blogs without a Stripe connection can now gate content using a lightweight JavaScript snippet. PayGlue checks member access on every page load and shows a fully customizable overlay to non-paying visitors.

  • One script tag in your Ghost theme header, no database changes, no theme forks
  • Access check verifies Ghost member status via comped flag or payglue-active label
  • Overlay is fully customizable: headline, body text, button label, color, and URL
  • Paywall Config in dashboard: pick a Polar product or use a custom link
  • Live overlay preview updates as you type

June 2026

v0.5

Integration
Shipped

Polar End-to-End: Payments trigger Ghost membership and welcome email

The first full payment-to-membership flow is live. A Polar purchase now reliably creates a Ghost member with the correct plan, labels, and a welcome email, without any manual steps.

  • Polar order.paid webhook: Ghost member created automatically with comped plan and PayGlue labels
  • Welcome email delivered via Ghost Admin API. Magic link is the recommended default for payment flows
  • Email type selector in mapping settings: choose between magic link, confirmation, or no email
  • Unsupported event types are silently acknowledged and never stored, keeping the event log clean

June 2026

v0.5

Docs
Shipped

Documentation launched at docs.payglue.io

Based on beta tester feedback, we launched public documentation. Every core workflow now has a dedicated article.

  • Get started guide: connect Ghost and run your first payment in minutes
  • Ghost integration: Admin API key setup, Stripe requirement explained
  • Providers: Polar setup guide, with Lemon Squeezy and Stripe coming soon
  • Troubleshooting: Ghost Stripe cancellation notice explained, member access checklist
  • Security overview: encryption, EU infrastructure, zero-knowledge credential storage

June 2026

v0.4

Feedback
PivotTriggered by user feedback · Impact: trust

Security Manifest

Early users asked the same question: "What exactly does PayGlue see from my customers?" We decided the right answer was not a FAQ bullet. It was a dedicated page with verifiable claims, backed by the actual source code.

  • New /security page: a public record of what PayGlue never sees and exactly what it does see
  • HMAC-SHA256 signature verification on every webhook with a 5-minute replay-attack window
  • Credentials stored encrypted in the EU, never logged
  • Full codebase is public so anyone can audit the claims independently

June 2026

v0.4

Product
PivotPhase: completed · Impact: major

Rebranding: GhostGlue → PayGlue

We proactively reached out to the Ghost Foundation to clarify trademark policy before a wider launch. Their guidelines do not permit using "Ghost" in third-party product names. We rebranded to PayGlue and moved to payglue.io. The product, the team, and the mission stay exactly the same.

  • New brand: PayGlue at payglue.io
  • ghostglue.io redirects to payglue.io via Cloudflare
  • All infrastructure migrated: app.payglue.io, api.payglue.io
  • Existing beta testers informed and accounts migrated

June 2026

v0.3

Product
Shipped

Dashboard: Navigation Redesign, Organization Settings, Slug Rename

The sidebar is rebuilt from scratch, settings are reorganized, and organizations can now be renamed or deleted directly in the app.

  • Sidebar org switcher: dropdown showing all organizations with "Add organization" at the bottom
  • Integrations renamed to Connection, so Ghost CMS and each payment provider have their own page
  • New Organization settings: edit your org slug with a warning about webhook URL changes
  • Danger Zone: delete your organization with slug confirmation (owner only)

June 2026

v0.3

Infrastructure
Reconsidered

Per-tenant PostgreSQL Schemas

We initially planned to give every organization its own database schema for hard data isolation. After reviewing our actual threat model and operational complexity, we decided against it.

June 2026

v0.3

Infrastructure
Shipped

Infrastructure: API Proxy, Railway Backend, Secrets

All API traffic now runs through our own domain. Django backend live on Railway with a real database and encrypted credential storage.

  • Cloudflare Worker on api.payglue.io proxies all requests
  • API backend with managed cloud database on EU infrastructure
  • Encrypted credential storage for Ghost API keys and payment provider tokens

June 2026

v0.3

Product
Shipped

Dashboard: Integrations, Onboarding Flow, Auth Fixes

Integrations page fully redesigned, onboarding flow polished end-to-end, and auth session issues resolved.

  • Polar integration: step-by-step webhook setup guide in the integrations page
  • Ghost health check: green "Connection established" or red "Connection failed"
  • Session persists across page reloads, no more login loop on reload

May 2026

v0.2

Product
Live

Founding Member Beta Launch

PayGlue is live in closed beta. Founding Members purchase a spot and get auto-provisioned access to the full webhook relay pipeline.

  • Post-checkout auto-login: purchase on Polar, land directly in your account
  • Polar production checkout with verified webhook delivery
  • Organization onboarding: create org, connect Ghost blog, enter dashboard

May 2026

v0.2

Product
Shipped

Waitlist Opens + Landing Page

The first public version of payglue.io goes live. Visitors can join the waitlist and lock in their Founding Member rate.

  • Landing page with feature overview, pricing tiers, and FAQ
  • Waitlist signup with email confirmation
  • Five founding member tiers with automatic tier advancement

April 2026

v0.2

Feature
Shipped

Dashboard & Tenant Architecture

The core dashboard is built. Users can create organizations, manage their Ghost connection, and view payment mappings and event logs.

  • Multi-tenant architecture: one account, multiple Ghost blogs
  • Role-based access: owner, admin, member
  • Event log: every incoming webhook with processing status

March 2026

v0.1

Infrastructure
Shipped

Webhook Relay Engine

The core engine receives payment provider webhooks and translates them into Ghost membership actions.

  • Webhook receiver with provider-specific signature verification
  • Automatic retry with exponential backoff on failed deliveries
  • Dead-letter queue for manual replay
  • Ghost Admin API integration: grant, revoke, and update membership tiers

January 2026

v0.1

Product
Foundation

Initial Idea and Architecture

PayGlue starts as a personal project. Ghost CMS only supports Stripe natively, but many creators use Polar, PayPal, or other providers.

  • Problem validated with multiple Ghost publishers
  • Architecture decision: webhook relay as a non-invasive layer, never touching the Ghost database directly
  • Core principle: PayGlue is not a payment processor and never sees transaction data

Won't build

Feature
Won't build

Native Ghost Theme Integration

We looked at injecting PayGlue logic directly into Ghost themes via custom code injection. It would have created tight coupling between a user's theme and our infrastructure, making upgrades fragile and debugging nearly impossible. Webhooks are the clean boundary. We stay on our side of it.

Reconsidered

Product
Reconsidered

Free Tier

We explored offering a free tier to lower the entry barrier. We decided against it: free tiers require monetizing at scale through ads, data, or aggressive upsells. PayGlue is built to last as a small, focused tool. A 30-day trial at public launch will be the entry point instead.