Privacy Policy
Last updated: October 2, 2026
This Privacy Policy explains how Donux S.r.l. processes personal data when you visit the Frontfriend website, use the Frontfriend platform, or use Frontfriend’s command-line tool, Figma plugin, and agent integrations (together, the “Service”). It is provided under Articles 13 and 14 of Regulation (EU) 2016/679 (the “GDPR”).
1. Data Controller
The data controller is Donux S.r.l., Via Carlo Farini 5, 20154 Milano, Italy, VAT no. IT11315200961, REA MI-2594015 (“Donux”, “we”, “us”, or “our”).
For any question about this policy or to exercise your rights, write to support@frontfriend.dev.
2. Data We Process
Visiting the website
When you visit frontfriend.dev, our server records technical data in its logs: your IP address, the date and time of the request, the page requested, the referring page, and your browser’s user agent.
The website has no analytics, advertising, or tracking tools and sets no cookies. The homepage videos and their preview images are delivered from our media domain through Cloudflare, which receives your IP address to serve them.
Creating and using an account
To create an account and sign in, we process:
- your email address and, if you provide it, your name;
- sign-in links sent by email, which expire after 5 minutes;
- session records, including the IP address and browser user agent used to sign in;
- the workspaces you belong to and your role in each of them.
When you connect the command-line tool, the Figma plugin, or an AI agent to your account, we also process a device identifier, the IP address and user agent of the device, and when the device was last used. If you create API credentials for automated systems, we store their name and when they were last used.
While you use the platform, we record the actions taken in your workspaces (for example, changes to design systems, releases, and membership) and usage events of design workflows, linked to your account. We use these records to show your workspace history, to keep the Service secure, and to improve it.
Invitations
When a workspace member invites someone, we process the invitee’s email address, the role offered, and who sent the invitation, and we send the invitation by email.
Customer Content
You can upload or synchronize design tokens, Figma variables, brand assets such as logos and images, component source code, configuration, and reports produced by the command-line tool (such as file paths and design-rule findings) (“Customer Content”, as defined in our Terms and Conditions).
Customer Content is not meant to contain personal data. If it does, we process that data on behalf of the customer who controls the workspace, only to provide the Service and according to the customer’s instructions.
Importing a brand
“Import your brand” can be used with or without an account. You provide either a website address or files such as screenshots, logos, stylesheets, or token files. To build a design system proposal:
- our servers visit the website address you provide, capture a screenshot, and extract its text, colors, fonts, and logo addresses;
- the screenshot, up to 8,000 characters of page text, and the extracted details, or the files you uploaded, are sent to OpenAI for analysis;
- we store your request, its result, the screenshot, and your IP address, which we also use to limit abuse.
Theme Studio previews
When you preview fonts in Theme Studio, your browser loads them from Google Fonts. When you preview the PDF viewer component, your browser loads the PDF.js library from the public unpkg content delivery network. These services receive your IP address and browser details to deliver the files.
Contacting us
When you write to us, we process your email address, your name, and the content of your message to reply to you.
Paid plans
When you subscribe to a paid plan, we process the billing details of your company, such as company name, VAT number, address, and billing contact, to issue invoices and manage payments.
3. Purposes and Legal Bases
| Purpose | Legal basis |
|---|---|
| Creating your account, signing you in, and providing the Service, including devices, invitations, Customer Content, and transactional emails | Performance of a contract with you or with the organization you represent (Art. 6(1)(b) GDPR) |
| Importing a brand at your request, including before you create an account | Steps taken at your request before entering into a contract (Art. 6(1)(b) GDPR) |
| Sending invitations on behalf of a workspace member | Legitimate interest of the workspace and of Donux in letting teams collaborate (Art. 6(1)(f) GDPR) |
| Keeping the Service secure, preventing abuse, and keeping server logs | Legitimate interest in protecting the Service and its users (Art. 6(1)(f) GDPR) |
| Recording workspace history and usage events to operate and improve the Service | Legitimate interest in providing a reliable, improving product (Art. 6(1)(f) GDPR) |
| Delivering the website and its media, and the fonts and libraries loaded in Theme Studio previews | Legitimate interest in delivering the content you request (Art. 6(1)(f) GDPR) |
| Replying to your messages | Legitimate interest in answering your requests (Art. 6(1)(f) GDPR), or contract when the message concerns your use of the Service |
| Invoicing and accounting for paid plans | Compliance with legal obligations (Art. 6(1)(c) GDPR) |
| Establishing, exercising, or defending legal claims | Legitimate interest (Art. 6(1)(f) GDPR) |
Providing your email address is necessary to create an account. Without it we cannot provide the Service. Providing a website address or files is necessary to import a brand.
We do not use your personal data for advertising, we do not sell it, and we do not make decisions about you based solely on automated processing, including profiling, within the meaning of Article 22 GDPR.
4. Service Providers
We share personal data only with providers that help us run the Service. Hetzner, Cloudflare, Resend, and OpenAI act as data processors under agreements with us. Google Fonts and unpkg are loaded directly by your browser and process your data under their own privacy policies.
| Provider | Role | Location |
|---|---|---|
| Hetzner Online GmbH | Hosting of the website, the platform, its database, and the brand import service | Germany (EU) |
| Cloudflare, Inc. | Storage of uploaded assets and component files; delivery of website media | United States and global network |
| Resend | Sending sign-in, invitation, and notification emails | United States |
| OpenAI | Analysis of the screenshots, text, and files submitted to “Import your brand” | United States |
| Google (Google Fonts) | Delivery of fonts previewed in Theme Studio, loaded directly by your browser | European Union and United States |
| unpkg | Delivery of the PDF.js library for the PDF viewer preview in Theme Studio, loaded directly by your browser | Global network |
Under OpenAI’s API terms, data sent through the API is not used to train OpenAI’s models.
We may also disclose personal data to public authorities when required by law.
5. Transfers Outside the European Economic Area
Some of the providers above are based in the United States or may process data there. When personal data is transferred outside the European Economic Area, the transfer relies on the European Commission’s adequacy decision for the EU-U.S. Data Privacy Framework, where the provider is certified, or on the Standard Contractual Clauses adopted by the European Commission.
6. How Long We Keep Data
| Data | Retention |
|---|---|
| Account data, workspace membership, workspace history, and usage events | As long as your account is active. When you ask us to close your account, we delete them within 30 days, except where we must keep them to comply with the law or defend legal claims. |
| Customer Content | As long as the workspace exists. It is deleted within 30 days after the workspace owner asks us to close the account or delete the workspace. |
| Sign-in links | Deleted when used or once expired, within one day. |
| Sign-in sessions, with IP address and user agent | Deleted when you sign out or once the session expires, within one day. Sessions expire after 7 days without activity. |
| Connected devices, with IP address and user agent | Deleted 30 days after they expire or are signed out. |
| Invitations | Deleted 30 days after they expire. Invitations expire 7 days after they are sent. |
| Brand import requests, results, screenshots, and IP address | Deleted 30 days after the import ends. |
| Brand import abuse-prevention records, with IP address | Deleted after one hour. |
| Server logs | Up to 30 days. |
| Messages you send us | Up to 24 months after the conversation ends, unless they are needed to perform a contract or defend legal claims. |
| Invoices and accounting records | 10 years, as required by Italian law (Art. 2220 of the Italian Civil Code). |
7. Cookies and Similar Technologies
We only use cookies and browser storage that are strictly necessary to provide the features you use. We do not use analytics, advertising, or profiling cookies, so we do not ask for your consent.
| Name | Where | Purpose | Duration |
|---|---|---|---|
ff-theme (browser storage) | Website | Remembers whether you chose the light or dark theme | Until you clear it |
session_token (cookie) | Platform | Keeps you signed in | 7 days, renewed while you use the Service |
sidebar_state (cookie) | Platform | Remembers whether the sidebar is open | 7 days |
theme (browser storage) | Platform | Remembers your theme preference | Until you clear it |
figma_plugin_auth_code (browser storage) | Platform | Completes sign-in for the Figma plugin | Until you clear it |
frontfriend.pendingStudioDraft (browser session storage) | Platform | Keeps your Theme Studio draft while you sign in | Until you close the tab, or deleted once the draft is saved |
The command-line tool stores its sign-in credentials on your computer, in ~/.frontfriend/credentials. They are removed when you run frontfriend logout. The Figma plugin stores its sign-in data in Figma’s plugin storage on your device.
8. Your Rights
Under the GDPR, you have the right to:
- access your personal data and receive a copy of it;
- have inaccurate data corrected;
- have your data deleted;
- restrict how we process your data;
- receive the data you provided to us in a structured, machine-readable format and have it transmitted to another controller;
- object at any time to processing based on our legitimate interests, on grounds relating to your particular situation.
To exercise these rights, write to support@frontfriend.dev. We will reply within one month. We may ask you to confirm your identity before acting on your request.
If you are a member of a workspace managed by another organization, requests about Customer Content in that workspace may also be addressed to that organization.
You also have the right to lodge a complaint with the Italian data protection authority, the Garante per la protezione dei dati personali (www.garanteprivacy.it), or with the supervisory authority of the EU country where you live or work.
9. Security
We protect personal data with technical and organizational measures appropriate to the risk. These include encrypted connections, access restricted to authorized personnel, sign-in links and tokens with short lifetimes, refresh tokens stored only as hashes, and private storage for uploaded files.
10. Children
The Service is intended for businesses and professionals. It is not directed at people under 18, and we do not knowingly collect their personal data.
11. Changes to This Policy
We may update this Privacy Policy when the Service or the law changes. The date at the top shows when it was last updated. If we make material changes, we will notify account holders by email or through the Service before they take effect.
12. Contact
Donux S.r.l. (Frontfriend)
Via Carlo Farini 5, 20154 Milano, Italy
VAT no. IT11315200961
REA MI-2594015
Email: support@frontfriend.dev