Privacy Policy
Support Frix is a support widget and ticket dashboard. This policy describes the personal data the software actually handles — it was written against the source code, not from a template.
Last updated: September 7, 2026
1. Who this covers
Two different groups of people appear in this system, and they are treated differently throughout this policy.
- Operators — people who sign in to the dashboard at
/dashboardto run a platform or answer its tickets. - End users — visitors who open the support widget on a third-party website that has embedded it.
For end users, the operator of the site you wrote in from is the controller of your message; this service acts as their processor. Your rights request is usually fastest directed at that site.
The operator is Amirhossein Yaghoubnezhad, an independent developer. EU/UK representative or Data Protection Officer, where one is required: Not applicable.
2. What we collect
The list below is exhaustive for the application itself. It is derived from the database schema and the request validators, so it cannot silently fall out of date with what the API will accept.
From end users, when you open a ticket
| Field | Required | Notes |
|---|---|---|
| message | Yes | The body of your request, up to 4,000 characters. Stored verbatim. |
| categoryId | Yes | Which topic you picked from the list the site configured. |
| name | Optional | Free text, up to 120 characters. Only on the email route. |
| On the email route | Validated as an email address. Used to identify your thread. | |
| telegramId | On the Telegram route | Your numeric Telegram user ID, returned by Telegram after you sign in. |
| username, firstName | On the Telegram route | Telegram profile fields, as Telegram supplies them. |
| rating | Optional | A 1–5 score, plus its timestamp, if you rate the conversation after it closes. |
| messages[] | Yes | Every reply in the thread, from you and from support, with timestamps. |
Choosing the Telegram route also creates a short-lived verification record holding your Telegram ID and a six-digit code, which expires after five minutes.
From operators, when you sign in
| Field | Source | Notes |
|---|---|---|
| Google or your invite | Telegram sign-in supplies no email address. | |
| name | Google or Telegram | Display name only. |
| avatarUrl | Google or Telegram | A link to the picture held by that provider. The image is not copied here. |
| googleId / oidcSub / telegramId | Your identity provider | Opaque identifiers used to recognise you on your next sign-in. |
| passwordHash | Legacy only | A bcrypt hash. The current dashboard does not offer password sign-up. |
| authorId on messages | Derived | Which teammate sent a reply. Internal to the dashboard — end users always see one support voice. |
What we do not collect
The application records no IP address, no device or browser fingerprint, no user-agent string, no location, and no cross-site identifier. There is no analytics, advertising or session-replay software in this product — see the Cookie Policy for the full storage inventory. Web fonts are compiled into the site at build time and are not fetched from a third party while you browse.
The reverse proxy in front of the application keeps standard web server access logs, which include IP addresses. Their retention is 30 days.
3. Why, and on what legal basis
| Purpose | Data used | GDPR basis |
|---|---|---|
| Deliver support | Message, category, contact details, thread | Art. 6(1)(b) — performance of a contract, or Art. 6(1)(f) legitimate interest on behalf of the site you contacted |
| Reach you with the answer | Email address or Telegram ID | Art. 6(1)(b) — you supplied it so we could reply |
| Authenticate operators | Provider identifiers, session token | Art. 6(1)(b) — running the account you signed in to |
| Verify a Telegram end user | Telegram ID, one-time code | Art. 6(1)(b) — you asked to be identified this way |
| Measure satisfaction | Rating 1–5, timestamp | Art. 6(1)(a) — you choose whether to answer the prompt |
No processing here is based on consent for tracking, because no tracking takes place.
4. Where it is stored
Tickets, messages, categories, ratings and accounts live in a PostgreSQL database operated by whoever runs this instance. Where that database is hosted, and the transfer mechanism relied on if it sits outside your region, is standard contractual clauses or applicable data transfer frameworks.
Content is additionally delivered to Telegram, which is a separate controller — see the next section. Traffic to the site is served over HTTPS.
6. How long it is kept
The software does not expire data on a schedule. Records persist until deleted by an operator or by the person running the instance.
- Verification codes delete themselves five minutes after issue, or as soon as they are used.
- An operator session token is valid for 30 days; an end user’s Telegram session token for 2 days; a sign-in request token for 10 minutes.
- Deleting a conversation removes it and all of its messages permanently. Deleting a platform removes every ticket, message, category and access grant under it.
- Copies already delivered to a Telegram channel or direct message are not withdrawn — that history belongs to the Telegram chat.
The operational retention periods for this instance are as long as necessary to provide the service for ticket content and up to 30 days after account deletion for operator accounts.
7. Your rights
Under the GDPR and UK GDPR you may request access to your data, its correction, its erasure, restriction of processing, portability, and you may object to processing based on legitimate interests. You may also complain to your supervisory authority.
How each is handled here:
- Access. An end user who signed in with Telegram can list every ticket they have filed from the widget, on any device. On the email route the widget lists the threads created in that browser.
- Erasure. Deletion is performed by the operator of the site you contacted; the dashboard removes a conversation and its messages irreversibly. Ask them, or write to the contact below and we will route it.
- Withdrawing an identity. Clearing your browser storage for the embedding site removes the saved contact details and Telegram session from that device. Threads already filed are unaffected.
There is no automated decision-making or profiling in this application.
8. California (CCPA/CPRA)
In the twelve months preceding this policy’s date the categories of personal information handled are: identifiers (email address, Telegram user ID, name) and electronic information comprising the content of your support messages.
We do not sell or share personal information as those terms are defined by the CPRA, and we do not use or disclose sensitive personal information for purposes beyond providing the service. Because there is no sale or sharing, there is no “Do Not Sell or Share My Personal Information” mechanism to offer.
California residents may request disclosure, deletion, or correction of their information, and may not be discriminated against for exercising those rights. Use the contact below.
9. Children
This service is a business tool and is not directed at children. It performs no age verification, so if a child has sent a message through it, contact us and we will delete it.
10. Changes
When this policy changes, the date at the top changes with it. The substance of the policy is generated from the codebase, so a material change to what the software collects should always be reflected here.
11. Contact
Privacy enquiries and rights requests: info@frix.me.
If you reached the widget from another company’s website, that company controls your conversation and can usually act faster.