Privacy Policy
Last updated: 5 November 2026
Lire en françaisRevecto is an API that turns HTML into PDF documents. This policy explains what personal data Revecto processes when you visit revecto.dev, create an account and use the API, why, and what your rights are.
Who is responsible
Revecto ("we") is the data controller for your account data, keys, usage records and billing data. The publisher's details are in the legal notice at www.revecto.dev/legal. Contact: privacy@revecto.dev.
The documents, data, templates and files you send may contain personal data about other people, such as the names on an invoice. For that data you are the controller and we process it only on your behalf, under the Data Processing Agreement at www.revecto.dev/dpa.
What we collect
- Account data: your email address and name, received from our sign-in provider when you create an account, and an internal account identifier.
- API keys: the name you give each key, a short hint (its first and last four characters) and a one-way hash of the key. We never store the key itself.
- Usage records: for each API call accepted by your key and limits, the endpoint, the API key and project used, the rendering engine, the result status, the duration, the size of the HTML sent and of the PDF returned, a request identifier, whether the call used a credit, an error code and message if the call failed, and the time of the call. Usage records do not contain the HTML you send or the PDF you receive. Text from your request can appear in them in three cases: the addresses (without their query string) of up to ten resources your document references that could not be loaded, with the reason; the constructs a Forme render refused, which can quote font names, CSS properties and characters from your document; and error messages, which can quote the option names and values you sent or the file name of a template asset that could not be found.
- Templates: the template HTML, sample data, version history and the files you upload to a template (images and fonts).
- Billing data, once paid plans open: the identifiers of your Stripe customer and subscription and the record of your purchases. Card details are handled by Stripe and never reach us.
- Visit statistics on revecto.dev: the page viewed, without its query string, the referring site, your country, your device type, browser and operating system, and page load timings.
Our database does not store your IP address or user agent. Our providers process them to deliver and protect the service: Cloudflare for every request, and Clerk when you sign in.
What we do not keep
The HTML you send to /v1/convert, the data you send to /v1/render and the PDFs we return are processed in memory to produce the response. They are not stored in our database or our file storage, apart from the parts listed under Usage records.
Our hosting provider keeps technical logs of each request for up to 7 days, on its global network. They can include the addresses of resources your document references that could not be loaded (without their query string), the names of template files, and the error messages of failed renders, which can quote font names from your document.
To render your document we fetch the images, stylesheets and fonts it references, from the addresses written in your HTML. Those servers receive a request from our hosting provider, not from your device. When your document uses Google Fonts with the Forme engine, the characters of your document (at most 800 distinct characters) are sent to Google Fonts to request a matching subset. Google receives that request with our server's address, and states that it does not use Google Fonts data to build profiles or for advertising.
Why we process it
- To provide the service you signed up for: your account, your keys, your templates, rendering your documents and enforcing your plan's limits (performance of our contract with you).
- To keep the service secure and working: abuse prevention, rate limiting and diagnosing errors (our legitimate interest in running a reliable service).
- To bill you, once paid plans open (performance of the contract and our legal accounting obligations).
- To count visits to revecto.dev and measure how its pages load (our legitimate interest in understanding how the site is used).
We use your email address only to run the service: signing in, notices about your account and the service, and answers to your messages. We do not send marketing emails, we do not use your data for advertising and we do not sell it.
Who processes it for us
| Provider | Role | Region | Data processing terms |
|---|---|---|---|
| Cloudflare, Inc. | Hosting, rendering, request logs, storage of template files and usage counters, access protection, and visit statistics for revecto.dev | Processing at the caller's location; counters in the project's region (EU, US or Asia-Pacific); storage in the EU; visit statistics: location not specified by Cloudflare | www.cloudflare.com/cloudflare-customer-dpa |
| Neon (Databricks, Inc.) | Database | European Union (Frankfurt, Germany) | neon.com/dpa |
| Clerk, Inc. | Sign-in, account management and sign-in emails | United States | clerk.com/legal/dpa |
| Stripe Payments Europe, Limited | Payments, once paid plans open | Ireland and United States | stripe.com/legal/dpa |
| Better Stack, Inc. | Error reports, request logs and traces | European Union (Germany) | betterstack.com/dpa |
Better Stack's error reports, from our API and dashboard, contain the error type, message, stack trace, request id, the page or API path without query strings and your account identifier, plus, for API errors, the id of the API key used. Its request logs and traces, from our API, dashboard and websites, contain the time, method, path without query strings, status, duration, user agent, approximate location from the network (country, region, city and network operator) and the host names of the remote resources your documents load. They never contain the content of your documents or templates.
Cloudflare, Databricks, Clerk and Stripe's US company take part in the EU–US Data Privacy Framework, and their data processing terms include the European Commission's Standard Contractual Clauses. Better Stack relies on the European Commission's Standard Contractual Clauses. We announce any change to this list on this page, and for providers that process the content of your documents we give the notice set out in the Data Processing Agreement.
Where we store and process it
Your data is stored in the European Union: the database in Frankfurt, Germany, template files with Cloudflare, and error reports, request logs and traces with Better Stack in Germany. The exceptions are your sign-in account, which Clerk stores in the United States, the payment data handled by Stripe once paid plans open, the technical logs Cloudflare keeps for up to 7 days on its global network, and the visit statistics held by Cloudflare, whose storage location Cloudflare does not specify.
Conversions are processed at the Cloudflare location nearest the caller and counted in the region of the project (European Union, United States, or Asia-Pacific on a best-effort basis); templates and usage records are stored in the European Union. The documents you send are processed in memory and are not stored, apart from what the usage records hold.
How long we keep it
We keep your account data, keys, templates and usage records while your account exists. Request logs and traces are kept for up to 30 days. Error reports are kept for 90 days. Visit statistics are available to us for up to six months. To delete your account, write to privacy@revecto.dev from the address of the account: we delete the account and everything attached to it (keys, templates and their files, usage history and, once paid plans open, your Stripe customer record) within 30 days and confirm by email. Records we must keep for accounting are kept for the period the law requires.
Security
- revecto.dev, the dashboard and the API are available over HTTPS, which encrypts traffic between you and us.
- API keys are stored only as a one-way hash.
- Each account's keys, templates and files are separated from other accounts'.
If a breach of your personal data is likely to put your rights at risk, we notify the CNIL and, where the law requires it, you.
Cookies and local storage
revecto.dev sets no cookies. The dashboard at app.revecto.dev uses the cookies our sign-in provider needs to keep you signed in, a cookie that remembers whether the sidebar is open, and browser storage for your theme and editor preferences. None of them is used for tracking. Cloudflare Web Analytics, which counts visits, uses no cookies or local storage, according to Cloudflare.
Your rights
You can ask to access, correct, delete or receive a copy of your data, to restrict or object to its processing. Write to privacy@revecto.dev; we answer within one month. If you think we have not handled your data properly, you can complain to the CNIL (www.cnil.fr), the French data protection authority.
Changes
We will post any change to this policy on this page and update the date at the top. For significant changes we will also tell you by email.
This policy is available in English and in French; both versions have the same value.