Terms of Service
Effective date: August 10, 2026
Last updated: August 15, 2026
These terms are a contract between you and Pixelmatters, Unipessoal, Lda., a Portuguese company at Avenida dos Aliados, nº 168, 4º Andar, 4000-064 Porto, Portugal (VAT PT 510 928 579) — "Pixelmatters", "we". By creating a Markup account or using the hosted service, you accept them.
1. What these terms cover
The hosted Markup service: the dashboard at
markup.pixelmatters.dev, the widget HTTP API it manages, the
widget runtime you embed on your own sites, and the MCP server that
lets a coding agent you authorise read your feedback.
Two things these terms deliberately do not cover:
- The source code. Markup is open source under the MIT License. Your rights to the code come from that license, not from these terms, and nothing here narrows them. If you run your own deployment, these terms don't apply to it — you are your own host.
- Your end users' relationship with you. People who comment through the widget on your site are your users, on your site, under your policies. Section 5 covers what you owe them.
2. Your account
Sign-in is with a Google account, and admission is by invitation: signing in and being let in are separate things, and an account without an invitation to a workspace or a project can't use the service. You are responsible for what happens under your account, and for the accuracy of the information attached to it. You must be at least 16, and old enough to form a binding contract where you live.
Projects live inside workspaces. Workspace owners and admins manage the roster; adding someone to a workspace, a team, or a project gives them the visibility that role implies, so add people deliberately. Workspace creation is capped per account — the caps and quotas that apply to you are shown in the dashboard.
3. API keys and agent access
API keys authenticate your widget. The raw key is shown once at creation — we store only a hash and cannot recover it. Treat keys as secrets: don't commit them to public repositories, and revoke any key you believe is exposed (Settings → API Keys). Keys can be revoked by you at any time and by us if we see abuse.
Connecting a coding agent over MCP issues that agent a scoped, expiring token tied to your account. You can revoke it at any time from the project's Agent access settings. What an agent does with your feedback after reading it is between you and your agent.
4. Your content
Feedback collected through your projects — comments, screenshots, names, emails — is yours (or your end users', for you to steward). We claim no ownership. You grant us the license we need to run the service: to store, process, transmit and display that content to the people your project settings say should see it, and for no other purpose.
You can take your content with you — per-project JSON export is part of the product — and deleting a project or your account triggers the erasure described in the Privacy Policy.
5. Your responsibilities to your end users
For feedback collected on your sites, you are the data controller and we are your processor, under the Data Processing Agreement, which is part of these terms. In particular, you agree to:
- tell your site's users about the widget in your own privacy notice (the widget notice exists to make that easy — link to it if you like);
- collect feedback only where you lawfully can, and honour your end users' data-subject requests — the widget's built-in Forget me on this site action and our export tooling exist so you actually can;
- obtain any consent your context requires — especially if your site is directed at children.
6. Acceptable use
Don't use the service to break the law, and don't break the service. Specifically, you must not:
- collect or solicit content through the widget that is unlawful, infringing, or that you have no right to collect;
- attempt to access projects, data or tenants that are not yours, or probe, scan or test the service's security other than through responsible disclosure;
- work around per-key rate limits, the per-project domain allowlist, or any other technical control — they are part of the service, not suggestions;
- point notification webhooks anywhere other than the Slack endpoints the product accepts;
- resell or white-label the hosted service without our written agreement (self-hosting under the MIT license is always fine);
- use the service to send spam or to harass people.
We enforce limits technically where we can — rate limits throttle first, and sustained abuse can lead to key revocation, suspension, or termination under section 9.
7. Fees
The hosted service is currently free of charge. Projects have technical quotas (for example on screenshot storage) shown in the dashboard. If we ever introduce paid plans, we will give existing account holders at least 30 days' notice, and anything you were using for free will not silently start charging you — you will be asked, not billed.
8. The service, availability, and changes
We work to keep the service fast and available, but we do not promise uninterrupted operation and offer no SLA. We may change the service, add features, or retire features; if a change materially reduces what the service does, we will tell account holders in advance. If we ever discontinue the hosted service entirely, we will give at least 90 days' notice and keep exports available through that period — and the code being MIT means the product itself can outlive our hosting of it.
9. Termination
By you: delete your account from the Account page at any time, or just stop using the service. Account deletion is self-serve and immediate; its data effects are described in the Privacy Policy. If you own a workspace or are the only admin of a project, you'll be asked to transfer or delete it first, so nothing you leave behind is ownerless.
By us: we may suspend or terminate accounts that violate these terms, create security risk, or are required to be terminated by law. Unless the situation makes it impossible (an active attack, a legal prohibition), we will warn you first and give you a chance to fix the problem and export your data.
Sections 4 (ownership), 10–12 (disclaimers, liability, indemnity) and 13 (governing law) survive termination.
10. Disclaimers
The service is provided "as is" and "as available", without warranties of any kind, express or implied, including merchantability, fitness for a particular purpose, and non-infringement. We do not warrant that the service will be error-free — we track our bugs in public, so you can see for yourself that it isn't.
11. Limitation of liability
To the maximum extent permitted by law: neither party is liable to the other for indirect, incidental, special, consequential or punitive damages, or for lost profits, revenue, or data (beyond the data obligations in the DPA). Our total aggregate liability arising out of the service is capped at the greater of €100 and the amounts you paid us for the service in the twelve months before the claim.
Nothing in these terms excludes liability that cannot be excluded under applicable law — including liability for wilful misconduct or gross negligence, or the statutory rights of consumers in their country of residence.
12. Indemnity
If a third party brings a claim against us because of content you collected through the service, a site you embedded the widget on, or your breach of section 5 or 6, you will defend and indemnify us against that claim. This does not apply to the extent the claim results from our own breach of these terms or the DPA.
13. Governing law and venue
These terms are governed by the laws of Portugal. Disputes go to the courts of Porto, Portugal — except that if you are a consumer in the EU, you keep the protections and forum rights of the country you live in, and nothing here takes them away.
14. Changes to these terms
We may update these terms. For material changes, we will notify account holders in the product or by email at least 30 days before they take effect; continuing to use the service after that is acceptance. The full history of this page is public in the repository. If you don't accept a change, delete your account before it takes effect — export first.
15. Contact
Pixelmatters, Unipessoal, Lda. Avenida dos Aliados, nº 168, 4º Andar 4000-064 Porto, Portugal hello@pixelmatters.com