matchstick

Security

Last updated October 20, 2026

What protects your account, your site’s data, your repositories and the agents you connect. The short version: nothing changes on your site until a pull request is merged, and every key, token and permission is yours to revoke.

Signing in

You sign in with Google or GitHub; Matchstick stores no passwords. The session is one signed cookie that lasts 30 days, and every form posts back to our own origin and is checked against it. Pages carry a strict content security policy: no inline scripts, one script file of our own, no third-party code on any page.

Your data at rest

Search Console and connector tokens are encrypted (AES-256-GCM) with a key that lives outside the database. Personal API keys and agents’ access and refresh tokens are stored as SHA-256 hashes: we can check them, not read them back, and a key is shown once when it is minted. Approval links and agents’ in-flight state are signed and bound to the credential that started them.

Your repositories

Matchstick works through a GitHub App you install on the repositories you pick. It reads them only to draft a fix, writes only to branches of its own (matchstick/…) and the pull request it opens, and never pushes to your default branch. A merge happens when you click Approve, or, on a site where you turned auto-approve on, when a low-risk change passes every gate; either way it is the same bot merge, recorded on the pull request with who approved it and who asked.

Agents you connect

Agents connect through OAuth 2.1 with PKCE, or with a personal API key. On the consent page you choose the sites, the permissions and a weekly credit budget; the agent acts as you within them and never beyond your own access. Access tokens last an hour; refresh tokens last thirty days and are rotated on every use, and a rotated token presented again revokes the whole connection. Calls are rate limited per connection.

Autonomy is off by default: an agent proposes and reviews, and a person taps every merge on matchstick.io. The owner can turn auto-approve on per site, typing the domain to confirm, and off with one click. The rules an agent runs into live in code, not in a prompt: pages under evaluation after a change, protected pages, the owner’s “not now”, budgets, and the quality gates on every merge. Guidance an agent sends with a request is treated as untrusted text that may narrow a change and cannot bend those rules.

Every call an agent makes is on the site’s Activity page with the client’s name and a request id. Revoke a connection in Settings → Connected agents or Settings → API keys; access ends at once.

Infrastructure

Matchstick runs on ready.dev behind Cloudflare, over TLS everywhere (HSTS). Ordinary server logs are kept for a short time. The providers that do part of the work — Anthropic and OpenAI for analysis and drafting, Ahrefs and DataForSEO for keyword and backlink data, Postmark for email, Stripe for payment — receive only what a specific job needs, as the privacy policy describes.

Reporting a problem

Found something? Write to [email protected]. We read every report, answer within a business day, and will credit you for the find if you’d like.