Capyo Install free on Shopify
Shopify
Built for Shopify

Scan, fix, and date the record

Find what WCAG breaks on your store. 

Scan your store against WCAG 2.1 AA / EN 301 549, fix in the live page what can be fixed safely — every fix previewable and revertible with one click — approve AI alt text image by image, and generate the two documents a German merchant is asked for: a dated Prüfbericht and a published accessibility statement.

Free plan — 5 pages, weekly Preview every fix before it goes live Undo any fix with one click Accept or reject every AI alt text Widget included on every plan
Shopify admin / apps / accessibility
F

Findings on your own pages, in minutes

P

Preview every fix, undo it in one click

T

Two dated documents

The app scans your home, cart, search, top collections and products, contact and a policy page with axe-core in a headless browser, and lists every WCAG 2.1 AA finding with its rule id, impact, criterion, selector and an HTML snippet. Nothing renders on the storefront until you enable the app embed in your theme editor.

What you get

Detection and fixing, not a legal guarantee.

1

Findings on your own pages, in minutes

The app scans your home, cart, search, top collections and products, contact and a policy page with axe-core in a headless browser, and lists every WCAG 2.1 AA finding with its rule id, impact, criterion, selector and an HTML snippet. Nothing renders on the storefront until you enable the app embed in your theme editor.

2

Preview every fix, undo it in one click

Nine code-level fixes — six safe ones on by default, three riskier ones off — are applied by a theme app extension, never by editing your theme code. Preview a fix on your own storefront before any shopper sees it, apply it, and revert it in one click.

3

Two dated documents

Every scan on a paid plan produces a Prüfbericht PDF that lists every WCAG 2.1 AA criterion as pass, fail or not tested, and the app generates the accessibility-statement content the BFSG requires — published as its own page through an app proxy and refreshed with every scan.

The law

The European Accessibility Act and the BFSG.

This app is a detection and fixing tool. It reports axe-core findings and generates a dated document set; it is not legal advice and it makes no claim that a store conforms to the law.

1

In force since 28 June 2025

The European Accessibility Act (Directive (EU) 2019/882) has applied to services since 2025-06-28. In Germany the Barrierefreiheitsstärkungsgesetz (BFSG) implements it, and an online shop's purchase flow is a covered service. EN 301 549 is the presumed-conformity standard, and it tracks WCAG 2.1 AA.

2

A statement is required

BFSG §14 requires the service provider to publish an accessibility statement with defined content. The app generates that content from your shop and your latest scan, publishes it at its own URL on your domain, and refreshes the date and the result summary with every scan. Every field is editable, and the page carries a template disclaimer.

3

Documents, not promises

BFSG §37 sets fines up to €100,000 for the serious categories and €10,000 otherwise. The app does not promise immunity from a warning letter or a fine. What it produces is a dated record of what was tested, what the embed fixed, and what remains manual — a record you can hand to a lawyer.

Why Capyo

The proof is the artifact, not the promise.

The statement actually exists

The accessibility statement is served by the app at a stable URL on the shop's own domain the moment it is published — no page to create, no block to place, no step to get wrong. Its date and result summary refresh from the latest scan instead of going stale in a copied page.

Install free on Shopify →
01

Nothing goes live without you

A fix has two states before it is live: off, and previewing. A preview link applies a rule only on requests carrying its 30-minute token, so no shopper sees a change before you do. Any fix can be reverted in one click, and the embed never edits theme code.

Install free on Shopify →
02

German-first

The German listing name, German admin strings, and German human support during DE/AT/CH business hours. The widget and the statement render in the storefront's locale, and axe rule text falls back to English rather than showing a raw key.

Install free on Shopify →
03

How it works

Four steps from install to a dated report.

1

Install and scan

After OAuth the app builds a page set from your store and scans it with axe-core. Nothing appears on your storefront yet: the app embed has to be enabled in the theme editor first.

2

Work the findings

Group by rule or by page, filter by impact, and see each finding's rule id, WCAG criterion, selector and snippet, with a badge for fixed by embed, fix available or manual fix.

3

Preview, apply, revert

Preview any fix on your own storefront with a token only your browser has, apply it for every visitor, or revert it in one click. Risky fixes need a confirmation and can never skip the preview step.

4

Generate the documents

Download a dated Prüfbericht PDF and publish the accessibility statement at its own URL. Both refresh from the latest scan; the report is immutable, so a later scan adds a new one.

Inside your admin

No customer data. No theme code edits.

No customer data, no orders

The scopes are read_products, write_products, write_files, read_themes and read_content. No read_orders, no read_customers and no protected customer data. The app stores no customer names, emails, addresses or order data.

No theme code writes

Fixes and the widget arrive through a theme app extension (an app embed). The app never uses Shopify's Asset API to write your theme files, and it never injects a third-party overlay script.

Shopper preferences stay in the browser

The widget stores a shopper's adjustments in localStorage only: no cookie, no beacon, no shopper identifier and no third-party script. Nothing about a shopper leaves the page.

Deleted on uninstall

Shopify's compliance webhooks are implemented. Uninstall cancels jobs and makes the statement URL return 404 immediately; the app's rows for your shop are deleted when Shopify sends shop/redact, 48 hours after uninstall, and a reinstall inside that window cancels the deletion.

The numbers

A flat ladder, counted in pages.

Plans differ by how many pages are scanned, how often, how many alt texts are generated each cycle, and whether the Prüfbericht is a PDF. Widget colour, icon, size, position and language are editable on every plan, including Free.

Install free on Shopify →

9

code-level fixes in the catalog — six safe, three risky

8

widget adjustments, on every plan

2

documents generated: Prüfbericht and statement

0

customer records read or stored

Pricing

One ladder, and the widget on every plan.

Free is weekly on 5 pages. Compliance adds a PDF Prüfbericht and a published statement at $29/month; Premium adds daily scans and history at $99/month. Paid plans have a 7-day free trial, billed through Shopify Managed Pricing.

Free

$0

forever

Scan five pages weekly and see how many findings the embed already fixes.

  • 5 pages, weekly scan plus Scan now
  • Safe fixes on the 5 page-set entries
  • 20 AI alt texts, once
  • Statement preview in the admin
  • Regression alerts in-app only
  • Widget on every plan — colour, position and language included
Install free on Shopify

Compliance

$29

per month

The dated documents: a PDF Prüfbericht and a published statement.

  • 25 pages, weekly scan plus Scan now
  • All 9 fixes
  • 300 AI alt texts per month
  • Prüfbericht PDF per scan
  • Published accessibility statement
  • Regression email alerts
  • 7-day free trial
Choose Compliance on Shopify

Premium

$99

per month

Daily scans and the full history.

  • 100 pages, daily scan plus Scan now, priority queue
  • All 9 fixes
  • 2,000 AI alt texts per month
  • Prüfbericht PDF per scan, monthly PDF with a diff
  • Published accessibility statement
  • Regression email alerts
  • 7-day free trial
Choose Premium on Shopify

FAQ

Before you install.

Is this a legal guarantee or a compliance claim?

No, and it never claims to. It reports axe-core findings against WCAG 2.1 AA / EN 301 549, fixes what can be fixed safely in the page, and generates a dated Prüfbericht and an accessibility-statement template. It is detection and fixing, not a legal guarantee, and it is not legal advice.

Does it change my theme?

No. The app never edits theme code. Fixes and the widget are delivered by a theme app extension (an app embed) that you enable in the theme editor. Until you enable it, nothing at all renders on your storefront.

Can I see a fix before it goes live?

Yes. Every fix has a preview state: a link carrying a 30-minute token applies the rule only in your browser, so visitors without the token get the unchanged page. Once applied, one click reverts it.

Do you read my customers?

No. The app reads products, media, theme metadata and online-store content. It requests no read_orders and no read_customers scope, holds no protected customer data, and stores no customer names, emails, addresses or order data.

What does the widget store?

Only the shopper's own adjustments, in localStorage on that browser: text size, line and letter spacing, high contrast, highlighted links, a readable font, paused animation, hidden images and a reading guide. No cookie, no beacon and no shopper identifier is set, and no third-party script runs.

What is the Prüfbericht?

A dated PDF produced per scan on a paid plan. It lists every WCAG 2.1 AA success criterion as pass, fail or not tested — a criterion axe-core cannot test is marked not tested, never pass — plus the findings count, the fixes the embed was applying, the manual findings, the tool and its version, and the disclaimer.

Is the AI alt text written automatically?

It is generated and queued, but nothing is written to Shopify until you accept it. Each image is shown with its generated text and Accept, Edit or Reject; an accepted value can be undone, which restores the previous alt text.

Is there German support?

Yes — German human support during DE/AT/CH business hours, by email.

What happens when I uninstall?

Jobs are cancelled and the statement URL returns 404 immediately. Your shop's rows are deleted when Shopify sends shop/redact, 48 hours after uninstall; a reinstall inside those 48 hours keeps your page set, fixes, reports and statement. Alt text already written to your product media stays in Shopify.