C Capyo
nl
Installeren op Shopify

Privacy Policy

Last updated: 2026-09-23

This policy explains what data the Shopify app Capyo: Accessibility WCAG EAA and this website process, why, on what legal basis, and how long it is kept. It is written for the merchant who installs the app. It is not legal advice about your own obligations under the European Accessibility Act, the BFSG or the GDPR.

1. Who is responsible

The controller depends on the data. For your relationship with the app — the store record, plan and billing status, and support correspondence — and for this website, the controller is Capyo, operated by an individual developer. For everything the app reads about your shop and catalog, you are the controller and Capyo acts as your processor under the Data Processing Agreement. Contact for anything in this document, including all data-protection requests: gimbernat13@gmail.com.

Operator legal name and address: [to be added]

For the personal data of your customers, you remain the controller. Capyo is built to never receive your customers' names, email addresses, phone numbers or physical addresses, and it requests no Shopify scope that would give it access to them — see section 2 for exactly what it does read and store.

2. Data the app processes

It comes from Shopify when you install the app, from the scans you run, from the images whose alt text you approve, and from you. In detail:

Where any of this is personal data, it is the personal data of you — the merchant and your staff — not of your customers.

3. What the app sends to OpenAI

To write alt text for a product image, the app sends that image and the app's own prompt to OpenAI (vision model gpt-5.4-mini) and receives a generated string. Only product images are sent, only for the alt-text queue, and only the generated string and an error string are kept — never the request or response body.

No merchant personal data and no customer personal data is sent to OpenAI. The prompt is the app's own; the app uses its own OpenAI key, which belongs to the operator, and you are never asked to paste an AI provider key. If the provider errors or returns empty text, the item is marked failed, the monthly allowance is not consumed, and the job continues.

4. What we never store

Shopify sends every public app the two mandatory customer-privacy webhooks (customers/data_request and customers/redact). Capyo acknowledges them; because it holds no customer personal data, there is nothing to return and nothing to erase for them.

5. What the storefront does (the widget and the embed)

Nothing renders on your storefront until you enable the app embed in your theme editor. Once enabled, the embed loads one deferred script and one stylesheet, reads its configuration, and does three things: applies the fixes you have set to live, renders the widget if it is on, and appends the statement link to the footer if that setting is on. It never writes to your theme code, and it never loads a third-party overlay script.

The widget stores shopper preferences in localStorage only. The eight viewer adjustments — text size, line and letter spacing, high contrast, highlighted links, a readable font, paused animation, hidden images and a reading guide — are kept in the shopper's own browser under the app's key. There is no cookie, no beacon, no shopper identifier and no third-party script: nothing about an individual shopper leaves the page, and no shopper-level record is written anywhere. A reset in the widget clears those values.

A fix that is only in preview mode is applied solely to requests carrying the preview token you generated; a visitor without the token receives the unchanged page.

6. The free "Barrierefreiheit Check" tool

The Capyo website offers a free single-page check. It needs one thing: a store domain. The scan itself runs on the app's own server against the scanned page's public HTML, and the result is cached by normalized URL for 24 hours; beyond that cache row, no email, IP address or URL of a scan is stored.

If you choose to unlock the detailed result, you submit an email address and the checked domain. Those are stored in a Cloudflare Worker KV lead record, keyed by a sha256 hash of the lowercased, trimmed email address, and are deleted after 12 months. That lead record is the only place the free tool stores an email; it is not used for marketing lists and it is not passed to anyone else.

7. This website

This site is a set of static pages. It sets no cookies, runs no analytics, and contains no tracking pixels, no advertising tags and no embedded third-party content. The typeface is self-hosted rather than loaded from a font CDN. The host of these pages processes the ordinary request data any web server sees, including your IP address, to deliver them.

8. Why we process it, and on what legal basis

We do not use your data for our own advertising, we do not profile you, we do not train models on it, and we never sell or rent it.

9. How long we keep it

10. Who else is involved (sub-processors)

Sub-processorCompany countryWhat they doWhere the servers are
Shopify International Ltd Ireland The platform the app runs on and the source of all store data; also handles billing Per Shopify's own DPA
OpenAI United States Writes alt text: receives a product image and the app's prompt and returns a generated string. Product images only — no merchant personal data and no customer personal data Per OpenAI's own terms
Cloudflare, Inc. United States Runs the free "Barrierefreiheit Check" Worker, including the KV store that holds the lead record (email hash and checked domain) for 12 months Cloudflare global network
Hostinger International Ltd Cyprus Application hosting — the virtual server the app runs on, including its PostgreSQL connection Boston, Massachusetts, United States
netcup GmbH Germany Database hosting — the PostgreSQL database holding everything in section 2 Manassas, Virginia, United States
GitHub, Inc. United States Hosting of this website only — no app data reaches it GitHub Pages global infrastructure

There is no analytics provider, no error-tracking SaaS, no advertising network, no email marketing tool and no CRM in this list. We will update this table before any new sub-processor starts processing.

11. International transfers

Merchant data processed through the app is stored on servers located in the United States — the application server in Boston, Massachusetts and the PostgreSQL database in Manassas, Virginia. Both are operated for us by European companies (Hostinger International Ltd, Cyprus; netcup GmbH, Germany), but the processing itself happens outside the EEA, which engages Chapter V of the GDPR. The product images sent to OpenAI for alt text, and the free-tool lead record held by Cloudflare, are likewise processed by United States-based providers.

For those transfers we rely on the Standard Contractual Clauses included in those providers' data processing terms, together with the technical and organisational security measures in section 12. The app stores no end-customer personal data, so nothing about your shoppers crosses a border. What does is the store configuration, page set, scan and finding data, fix states, alt jobs and items, reports, statement fields and access token described in section 2, plus the product images described in section 3.

Hosting locations can change; any change of hosting location or sub-processor is announced on this page before it takes effect. Shopify may transfer data internationally under its own DPA and transfer mechanisms, which govern the Shopify-to-merchant relationship independently of this policy.

12. Security

We claim no formal security standard (no ISO 27001, no SOC 2) and we do not claim encryption at rest beyond what the hosting providers apply to their own storage.

13. Protected customer data

Capyo requests no Shopify protected customer data. Its scopes are read_products, write_products, write_files, read_themes and read_content. It never receives customer names, emails, phone numbers or addresses, and it processes no order data. A future feature that needed protected customer data would only follow a separate Shopify approval and a change to this policy before it started.

14. Your rights

Under the GDPR you can ask us to:

Email gimbernat13@gmail.com and we will answer within one month. You do not need to justify a request. Uninstalling the app starts the deletion described in section 9. Where a request concerns data the app holds on your instruction as controller — for example alt text already written to your own product media in Shopify — we forward it to you and support you in answering rather than answering on your behalf; that split is set out in the Data Processing Agreement.

You can also complain to a data-protection supervisory authority — normally the one where you live, work, or where you believe the problem occurred.

15. Changes to this policy

When this policy changes, the new version appears on this page with a new date at the top. The version in force is the one published here.

16. Contact

gimbernat13@gmail.com — data-protection requests, security reports and everything else. See also our Terms of Service and the Data Processing Agreement.