Legal
Terms of service
These terms are the agreement between you and us for the use of Framecheck. Please read them before you subscribe. By creating a company account or subscribing, you accept them on behalf of the business you represent.
1. Who we are
Framecheck ("we", "us") is a business based in the United Kingdom, run by a sole trader. You can contact us at support@framecheck.dev.
In these terms, "you" means the business that holds the company account on Framecheck, and "members" means the people that business adds to its company account.
2. Business customers only
Framecheck is sold to businesses for use in their business. By accepting these terms you confirm that:
- you are acting for a business, trade or profession and not as a consumer;
- you are at least 18; and
- you have authority to accept these terms for the business.
If you are in fact a consumer, the rights that consumer law gives you still apply and nothing in these terms takes them away. In particular, if you are a consumer you may cancel within 14 days of subscribing; if you ask us to start the service during that period, you may have to pay for what you used before cancelling.
3. The service
Framecheck captures screenshots of the stories in your Storybook builds, compares them with the baseline your team has accepted, runs automated accessibility checks, and reports the results in a dashboard and as GitHub checks. Your team uploads builds from its CI, and reviews and accepts or rejects changes in the dashboard.
Automated accessibility checks find many common problems, but not all of them. A clean result does not mean that your product meets the Web Content Accessibility Guidelines or any legal accessibility requirement.
4. Your account
You sign in with your email address and password, or with your GitHub account if your Framecheck account uses GitHub sign-in. You are responsible for:
- the members you add to your company account and the roles you give them;
- keeping your company's billing email up to date, so that billing and account notices reach you;
- keeping your password, two-factor authentication, GitHub accounts, upload tokens and CI configuration secure; and
- everything done through your company account.
Tell us straight away at support@framecheck.dev if you think your account has been misused. GitHub's own terms apply to your use of GitHub.
5. Subscription and pricing
Paid plans
The Framecheck Starter plan costs £84 a month and includes 35,000 snapshots in each monthly billing period. Snapshots beyond that cost 50p per 1,000 snapshots, paid from prepaid credit (section 7). Pro costs £149 a month, includes 50,000 snapshots per billing period, and charges 45p per 1,000 additional snapshots from prepaid credit. Pro includes a dedicated Slack support channel. Prices are in pounds sterling. If you subscribed at an earlier price, you keep paying it until a price change takes effect for you under "Price changes" below; your billing page shows the price that applies to you.
No VAT is added. We are not registered for VAT. If we register, we will tell you at least 30 days before we start adding VAT.
What counts as a snapshot
- One story captured at one viewport in one browser is one visual snapshot. Each additional viewport or browser adds another visual snapshot.
- If accessibility checks are on for a project, each story’s accessibility check at each viewport is one more snapshot. Accessibility checks run in Chromium only, not once per enabled browser.
- Smart Snapshots: on a pull request, a story that the change cannot affect may be shown as unchanged with its approved baseline image (and its accepted accessibility result) instead of being captured again. An unchanged story shown this way is checked, and counts as one snapshot exactly like a captured story.
- Stories you exclude from capture are not counted.
How snapshots are charged
- You pay once for each snapshot that runs, whether it passes, shows a change, or fails because of your story, code or configuration.
- Failures caused by Framecheck are free.
- Each snapshot is charged once per logical attempt: retries and re-runs of the same build do not charge it again.
- Nothing is charged for time in the queue, for checks that never ran, or for a build cancelled before capture starts. If you stop a run (for example by cancelling it, pushing a newer commit or closing the pull request), snapshots already completed are charged.
- Stories shown as unchanged with Smart Snapshots (not captured again) are charged only when the run finishes with a result, never for a run that is stopped.
- Included snapshots that you do not use in a billing period expire at the end of it. They do not roll over and have no cash value.
Limits
Each run captures up to 5,000 visual snapshots across all browsers and viewports; accessibility checks count separately towards billed usage. Each run has 45 minutes to finish. Builds share capture capacity and may wait in a queue at busy times. We may apply other reasonable limits to protect the service, such as limits on upload size, the number of runs a project can start in a day, or storage.
Spend limit
Company admins set a monthly spend limit on credit. If a build would take you over your spend limit, or there is not enough credit (including the usage grace in section 7), new builds do not start until you top up or raise the limit. We may also apply our own monthly limit on usage to protect you and us from runaway costs.
Price changes
We may change our prices. We will tell you at least 30 days before a change takes effect. The new price applies from your first billing period that starts after that date. If you do not agree, you can cancel before then, in Billing settings or by emailing support@framecheck.dev.
6. Payment, renewal and cancellation
- Payments are taken by our payment provider, Stripe, and Stripe's terms apply to the payment. We do not see or store your full card number.
- Your subscription starts when your first payment succeeds and renews automatically every month on the same date, until it is cancelled. The monthly fee is charged in advance for each billing period.
- If a payment fails, new builds may not start until the payment is made. Runs already in progress finish.
- Cancellation. Company admins can cancel at any time from the billing page, or by emailing support@framecheck.dev. Cancellation takes effect at the end of the billing period you have already paid for; you can keep using Framecheck until then. The monthly fee is not refunded for part of a period.
- We may cancel your subscription under section 14.
7. Prepaid credit
- Company admins can buy credit on the billing page, in any amount of £20 or more. Credit pays for snapshots beyond those included in your plan.
- Credit can be bought and used during an active Starter trial or paid subscription.
- Usage grace. Pro includes £50 of usage grace with an active subscription and a saved card. Starter and the Starter trial have no usage grace. Existing bespoke plans keep the grace allowance shown in Billing. Where grace applies, snapshots can continue after credit runs out until the agreed grace allowance is used. That amount is owed to us and is repaid first from the next credit you buy, including automatic top-ups. New builds do not start once the grace is used up. Money owed after a refund or card dispute gets no grace.
- Automatic top-ups are off unless a company admin turns them on and agrees to them. When they are on, we charge the saved card the chosen amount whenever your credit falls below the chosen threshold, up to the chosen monthly maximum. Admins can turn automatic top-ups off at any time. We pause them after a declined payment, a request for extra card authentication or a dispute, until an admin turns them on again.
- If a payment for credit is refunded or disputed, the amount is taken back from your credit. If there is not enough credit, the difference is owed to us and must be paid before new builds can start.
- Credit has no cash value and cannot be transferred to another company account.
- Refunds. Prepaid credit is non-refundable, except where the law requires otherwise. Unused credit stays on your company account and can be used again if you subscribe again. This does not affect the refunds described in section 14 if we end these terms without your fault or stop offering Framecheck.
Plan upgrades take effect after payment of the prorated charge shown at confirmation. The renewal date stays the same, the current period’s snapshot allowance increases pro rata by the difference to the new plan’s allowance for the time left in the period, and used or reserved snapshots are not reset. Downgrades take effect at the next renewal. If your subscription is on an earlier price that we no longer offer or on a custom arrangement, it cannot be changed from your account; contact us to change plan.
8. Starter trial and promotion codes
New customers can start a 30-day Starter trial when they connect their first verified GitHub project. The £84 subscription fee is waived and 35,000 snapshots are included for that trial, with no monthly reset or rollover. No card is required. Trials include one project and are limited to one per GitHub organisation or personal account. Previously connected owners are not eligible, including owners linked to paid accounts. Disconnecting, uninstalling the GitHub app, changing names or deleting an account does not restore eligibility. Deleting the trial project does not allow a replacement trial project. We also use repository and trial-activator IDs to prevent repeat trials.
Trial customers may buy prepaid credit for additional snapshots at the Starter rate; trials have no grace credit. After 30 days, a paid subscription is required for new captures, even if prepaid credit remains. Credit remains on the account for use with a paid subscription. Subscribing ends the trial immediately and grants the full paid inclusion. Paid runs take priority over trial runs. Existing subscriptions retain their agreed pricing and allowances. Bespoke plans are available by agreement via support@framecheck.dev.
We may, at our discretion, offer promotion codes. A promotion code is valid only on the terms stated when it is given (for example, who may use it, what it gives and when it expires), may be used once unless we say otherwise, has no cash value and may be withdrawn before it is used.
9. Your content
"Customer Content" means the Storybook builds, code, screenshots, accessibility findings, comments and other material that you or your members upload to or create in Framecheck.
- You own your Customer Content. You give us a non-exclusive, worldwide, royalty-free licence to host, copy, process, render, capture, analyse and display it, and to report results to your GitHub repositories, only as needed to provide Framecheck to you, keep it secure and meet our legal obligations. The licence ends when the Customer Content is deleted.
- Your promises. You confirm that you have the rights needed to upload your Customer Content and to let us process it as these terms describe, and that it is not unlawful and does not contain malicious code.
- Personal data. We recommend using made-up data in your stories. Where your Customer Content contains personal data, you are the controller and we process it on your behalf as your processor, only to provide Framecheck to you as these terms describe. Our privacy notice lists the service providers we use and explains how we handle the personal data we are responsible for.
10. Acceptable use
You must not, and must make sure your members do not:
- upload malware or anything designed to harm our systems, other customers or anyone else;
- use Framecheck to break the law or infringe anyone's rights;
- try to get around limits, spend controls, access controls or security measures;
- overload Framecheck, for example with automated requests or builds beyond normal use, or disrupt it for other customers;
- try to access another customer's data;
- copy, reverse engineer or decompile Framecheck, except as far as the law allows; or
- resell Framecheck or use it to build a competing service.
We may remove content or suspend access to stop a breach (section 14).
11. The GitHub App
Framecheck works through a GitHub App that a GitHub organisation owner, or the owner of a personal account, installs and chooses repositories for. The App asks GitHub for these permissions:
| Permission | Why |
|---|---|
| Metadata: read | Required by GitHub for every App: repository names and basic details |
| Checks: read and write | To report results as GitHub checks and read the checks already on a commit |
| Pull requests: read and write | To read a pull request's details and, where you use a feature that needs it, to open or comment on pull requests |
| Contents: read and write | Read: to check that an uploaded build's commit and branch belong to your repository. Write: only for the setup pull request, to create the framecheck-setup branch and commit its one workflow file, .github/workflows/framecheck.yml |
| Workflows: read and write | GitHub requires this to add or change a file in .github/workflows (the setup pull request's one workflow file) |
| Organization members: read | To check that a person signing in belongs to the organisation that installed the App |
When a company admin chooses Open pull request on a project's setup page, the App creates a branch called framecheck-setup, commits one file, .github/workflows/framecheck.yml, to it and opens a pull request into your default branch. It never changes any other file, never pushes to your default branch and never merges anything; your team reviews and merges the pull request. You can decline the extra permissions and add the workflow yourself instead.
You can remove the App, or change which repositories it can see, in your GitHub settings at any time. Framecheck stops working for those repositories.
12. Availability and changes to the service
We work to keep Framecheck available and reliable, but we provide it on a best-effort basis. We do not offer a service level agreement and we do not promise that Framecheck will be uninterrupted, error-free or available at any particular time. We may need to pause it for maintenance, security or reasons outside our control, and builds may queue when capacity is busy.
Support. Support is by email to support@framecheck.dev. Pro also includes a dedicated Slack channel. We answer as soon as we reasonably can, on a best-effort basis; there is no service level agreement.
We may change, add or remove features. If a change significantly reduces what Framecheck does for you, we will tell you at least 30 days before (unless it is needed sooner for security or legal reasons), and you may cancel. If you cancel for that reason, we will refund the unused part of that month's fee.
13. Our intellectual property
We own Framecheck, including its software, design and documentation, and all rights in them. These terms give you the right to use Framecheck while your subscription is active; they do not transfer any of our rights to you. The uploader and workflow files we provide may be used only with Framecheck. If you send us feedback or ideas, we may use them without any obligation to you.
14. Suspension and termination
- By you. You can stop using Framecheck at any time by cancelling your subscription (section 6).
- Suspension. We may suspend all or part of your access, with notice where reasonably possible, if a payment is overdue, if you break section 10, if your use puts Framecheck, other customers or anyone else at risk, or if the law requires it. We will restore access once the reason is resolved.
- Termination by us. We may end these terms by giving you 30 days' notice. We may end them straight away by notice if you seriously break these terms and, where the problem can be fixed, do not fix it within 14 days of our asking, or if you become insolvent. If we end them without your fault, we will refund any fee paid for the period after the end date, and any unused credit you paid for.
- We may stop offering Framecheck altogether by giving you at least 60 days' notice, and will refund fees paid for any period after it stops, and unused credit.
- After termination. Your access ends. We will delete your Customer Content within one month after the end, unless the law requires us to keep it. Before then, you can ask us for a copy of what the dashboard lets you view or download. We keep billing records as the law requires. Sections 9 (licence only as needed for deletion), 13, 15, 16, 17, 18 and 20 continue after termination.
15. Confidentiality
Each of us will keep confidential any non-public information the other shares that is marked as confidential or would reasonably be treated as confidential, including your Customer Content. Each of us will use it only for the purposes of these terms and share it only with people (such as our service providers) who need it for those purposes and are bound to keep it confidential. This does not apply to information that is or becomes public through no fault of the recipient, that the recipient already had or develops independently, or that must be disclosed by law.
16. Disclaimers
Framecheck is provided "as is". Apart from what these terms expressly say, and as far as the law allows, we give no other promises about it, including that it is fit for a particular purpose or that it will find every visual change or accessibility problem. You are responsible for deciding whether to accept changes and for the software you release.
17. Our liability
- Nothing in these terms limits or excludes liability for death or personal injury caused by negligence, for fraud or fraudulent misrepresentation, or for any other liability that cannot be limited or excluded by law.
- Subject to that, we are not liable for loss of profits, revenue, business, goodwill or anticipated savings, or for any indirect or consequential loss, however it arises.
- Subject to that, our total liability to you under or in connection with these terms, whether in contract, tort (including negligence) or otherwise, is limited to the total fees you paid us in the 12 months before the event giving rise to the claim.
- We are not responsible for delays or failures caused by events outside our reasonable control, such as failures of our service providers, GitHub, internet outages or attacks.
18. Your responsibility to us
You will compensate us for reasonable losses and costs (including reasonable legal fees) arising from a claim by a third party that your Customer Content, or your use of Framecheck in breach of section 10, infringes their rights or breaks the law. We will tell you promptly about any such claim and let you take reasonable part in handling it.
19. Changes to these terms
We may update these terms. If a change materially affects you, we will tell you by email or in the dashboard at least 30 days before it takes effect. If you do not agree, you can cancel before then; if you keep using Framecheck after the change takes effect, the new terms apply. Changes needed for legal or security reasons may take effect sooner.
20. General
- Transfer. You may not transfer these terms without our written agreement. We may transfer them to a business that takes over Framecheck, and will tell you if we do.
- Whole agreement. These terms, and any data processing terms and order details we agree with you, are the whole agreement between us about Framecheck. Neither of us relies on anything not written in them, but this does not limit liability for fraud.
- Third parties. No one else has any right to enforce these terms under the Contracts (Rights of Third Parties) Act 1999.
- Notices. We will send notices to your company's confirmed billing email or show them in the dashboard. Send notices to us at support@framecheck.dev.
- If part is invalid, the rest of these terms still applies.
- Not enforcing a right straight away does not mean we give it up.
21. Governing law and courts
These terms, and any dispute about them, are governed by the law of England and Wales, and the courts of England and Wales have exclusive jurisdiction. If you are a consumer living in Scotland or Northern Ireland, you may also bring proceedings in your local courts.
22. Contact
Questions about these terms, and support requests: support@framecheck.dev.
Last updated: 5 October 2026.
Contact
- Trading name
- Framecheck