Legal

Terms of service

Written to be read. Where a term limits what you can expect from us, it says so in the same plain language as the parts that sell the product — the disclaimers below aren’t buried and aren’t in capitals.

Effective 5 August 2026

1. The agreement

These terms are between you and Portcullis (“we”, “us”). By creating an account or using the service you accept them. If you’re accepting on behalf of a company or client, you confirm you’re authorized to bind it, and “you” means that organization.

The privacy policy is part of this agreement. You must be at least 16 and legally able to enter a contract.

2. The service

Portcullis is a governed access layer between an AI client and the WordPress sites you connect. It brokers authorization, enforces an allowlist of permitted abilities per site, and records an audit trail of what ran. A companion plugin on each site validates our short-lived signed tokens offline.

What that means practically: we never hold a WordPress credential. Your sites hold only our public key. We can stop minting access; we cannot rescue a site we can no longer reach, and we cannot undo a change WordPress has already made. Rolling back a change on your own site is your recovery path, and we’ll help you work through it.

We may change, add, or remove features. If we remove something you materially depend on while you’re paying for it, we’ll give you notice and a pro-rata refund of the unused term.

3. Accounts and organizations

  • Sign-in starts with an emailed link. You can add a second factor — an authenticator code or a passkey — and we recommend it. Until you do, anyone with access to your inbox can reach your account, so keep it secure. Tell us immediately if you suspect it’s been compromised.
  • Organization admins hold the keys. An admin can invite and remove members, connect and disconnect sites, change what abilities are permitted, and read the full audit log. You’re responsible for who you make an admin.
  • You’re responsible for your members’ use. Everything done under your organization is treated as done by you.
  • One account per person. Don’t share credentials between people — it defeats the attribution the audit log exists to provide.

4. Your sites and what you authorize

When you connect a site you warrant that you own it or are authorized to administer it, and that you may lawfully grant the access you’re granting. This is the term we care about most: the service acts on real production websites, and we have no way to verify a mandate you don’t have.

  • The allowlist is yours to set. Nothing is permitted by default. Every ability a site exposes was enabled by an organization admin or by an administrator on the site itself — and either can revoke it, immediately, without our involvement.
  • What actually gates a write. Nothing runs that isn’t on the allowlist you set. Beyond that, the gate depends on how the work was started: in the dashboard assistant a proposed change is normally shown to you to approve, though one that plainly matches what you just asked for may run without a second prompt; a run you put on a schedule runs unattended, because approving the schedule was the approval; and an MCP client you connect acts within the scope you granted it at consent, with no per-action prompt. Destructive account and governance actions — disconnecting a site, editing an allowlist, deleting an organization, changing a member, or a fan-out past 25 sites — additionally require a freshly proven second factor. You agree not to work around any of them.
  • Approving a plan means owning the outcome. When you approve a bulk or scheduled run, you’re authorizing every step in it on every site listed. Read the plan.
  • Keep your own backups. Portcullis is not a backup service and does not take one before acting.

5. Acceptable use

Don’t do any of these:

  1. Connect a site you aren’t authorized to administer, or run an action on one you don’t have the right to change.
  2. Use Portcullis to attack, scan, overload, or gain unauthorized access to any system — yours or anyone else’s.
  3. Attempt to reach another customer’s organization, sites, tokens, or audit records, or to probe the tenant boundary without a written agreement to test.
  4. Reverse-engineer, resell, or white-label the service, or share one account across separate businesses to dodge site limits.
  5. Send spam, malware, or unlawful content through anything the service can publish.
  6. Interfere with the service — circumventing rate limits, quotas, the approval gate on writes, or any other control.

Good-faith security research is welcome — email hello@portculliswp.com before you start and we won’t come after you. We may suspend an account without notice where use is actively causing harm; short of that, we’ll ask you to fix it first.

6. AI features

The assistant is optional and the product works without it. When you use it, model output is a suggestion — it can be wrong, incomplete, or confidently mistaken, and it must not be treated as professional advice. You’re responsible for reviewing any plan before you approve it.

An assistant can only act on content it can read, and that content is processed by the model provider running it. We minimize and scope that surface; we don’t pretend it doesn’t happen. We don’t train models on your fleet content or conversations. Where you connect your own MCP client, whatever a tool returns is processed by that client’s provider under their terms rather than ours — the data-processing disclosure spells out exactly what flows where.

7. Plans and billing

  • Free tier. Up to 10 connected sites, with unlimited members, free, with no card. Connecting past your cap is refused rather than silently billed.
  • Paid plans are billed in advance through Stripe on the interval you choose, and renew automatically until cancelled. Card details are entered on Stripe’s hosted pages and never reach us.
  • Cancel any time from the billing portal. Cancellation takes effect at the end of the current period and you keep access until then. We don’t pro-rate partial periods except where these terms or the law say otherwise.
  • Downgrading below your usage doesn’t delete anything — you simply can’t connect new sites or add members until you’re back under the cap.
  • Prices can change with at least 30 days’ notice before your next renewal. Taxes are your responsibility where they apply.
  • Failed payment. We’ll retry and email you. Sustained non-payment moves the organization back to the free tier before anything is removed.

8. Availability

We aim for continuous availability and we publish a status page, but there is no contractual uptime commitment on any self-serve plan. We may take the service down for maintenance, and we depend on infrastructure and WordPress installs we don’t control. Scheduled runs may be delayed or skipped when a site is unreachable.

Portcullis is a young product under active development. Parts of it will change shape. We’d rather you knew that going in than discovered it from a changelog.

9. Ownership

We own the service, the software, and everything about how it works. You get a non-exclusive, non-transferable right to use it while this agreement is in effect — nothing more.

You own your content: your sites, their contents, your organization’s data, and anything the service produces from them. You grant us only the licence needed to run the service for you — to store, process, and transmit that content to do the things you asked for. Feedback you send us we may use freely and without obligation.

The companion plugin is licensed separately under the terms shipped with it. Cloudflare, Stripe, WordPress, and any AI client you connect are third-party services with their own terms, which you accept by using them through us.

10. What we do and don’t warrant

We warrant that we’ll provide the service with reasonable skill and care, and that the security claims in our security whitepaper are accurate statements about our own code at the date shown on it. That whitepaper also lists what we don’t have — no third-party certification, no external penetration test, no data-residency choice — and those absences form part of this agreement rather than sitting outside it.

Beyond that, the service is provided “as is”. We don’t warrant that it will be uninterrupted or error-free, that model output will be correct, that an action will succeed on a given WordPress site, or that it fits a particular purpose of yours. To the extent the law allows, all other warranties are excluded.

11. Liability

Neither of us is liable to the other for indirect or consequential loss, lost profits, lost revenue, or lost data, however caused.

Our total liability arising out of this agreement is capped at the greater of the fees you paid us in the 12 months before the claim, or 100 US dollars. That cap is a deliberate part of what makes the free tier free.

Nothing here limits liability for death or personal injury caused by negligence, for fraud, or for anything else that can’t lawfully be limited. If you’re a consumer, your statutory rights are unaffected.

You’ll indemnify us against claims arising from your use of the service in breach of these terms — in particular, a claim that you weren’t authorized to connect or change a site.

12. Termination

You can stop at any time: disconnect your sites and delete your organization from the dashboard. Deleting an organization cascades every row belonging to it and removes its images from object storage — it’s a real delete, and it’s not reversible.

We can suspend or terminate an account for a material breach of these terms, for non-payment after notice, or where we’re legally required to. Except where use is actively causing harm, we’ll tell you what’s wrong and give you a chance to fix it. On termination we stop minting access to your sites immediately — your sites keep running; they simply stop answering us. Export your audit log before you go.

Sections 9 through 11 survive termination, along with anything else that by its nature should.

13. Changes, governing law, and contact

We may update these terms. For material changes we’ll email account holders and update the effective date; continuing to use the service after that means you accept them. If you don’t, cancel — and if you were paying, we’ll refund the unused part of your term.

This agreement is governed by the laws applicable at our principal place of business, and the courts there have exclusive jurisdiction, except where consumer law gives you the right to bring a claim locally. If a provision is unenforceable the rest stands. Neither of us is liable for failures caused by events outside our reasonable control. You may not assign this agreement without our consent; we may assign it as part of a sale of the business.

Questions about anything above: hello@portculliswp.com. See also the privacy policy and the security whitepaper.