1. Introduction
Welcome to Pigona ("we," "our," or "us"). We are committed to protecting your privacy and ensuring the security of your data.
This Privacy Policy explains how we collect, use, and safeguard your information when you use our Discord bot and services.
2. Data Controller
The responsible party for data processing pursuant to the GDPR is:
Robert Gustin, c/o COCENTER, Koppoldstr. 1, 86551 Aichach, Germany, Contact: support@pigona.com
A Data Protection Officer (DPO) is not required under Art. 37 GDPR and § 38 BDSG, as we do not engage in large-scale systematic monitoring of data subjects, do not carry out large-scale processing of special categories of data, and do not have 20 or more people regularly engaged in automated processing of personal data. For all data protection inquiries, please contact us at support@pigona.com.
3. Data We Collect
We receive user and server identifiers (User IDs, Guild IDs) via the Discord API when you interact with our bot. We adhere to the principle of data minimization and only collect what is necessary to provide the service.
- User IDs & Usernames: Used for identification, quota tracking, maintaining your Pigona Prestige profile, and sending functional Notifications (e.g., quota warnings).
- Server (Guild), Channel, and Role IDs: Used to store configuration settings for specific servers (ServerConfig, ChannelConfig, LanguageRole) and relaying messages between channels (RelayConfig). We also store the IDs of Privileged Users/Roles assigned to manage the bot.
- Message Mapping Data: To facilitate message management and bridge features, we store a technical mapping between original message IDs and their translated counterparts (MessageMapping). We do not store the content of these messages in this table.
- Message Content: Temporarily transmitted to our AI translation provider (Google Gemini models on Google Cloud, EU multi-region) for processing and, apart from the in-memory copies described under Recently Translated Messages below, discarded on our side straight away. We do not store message content permanently in our primary configuration or logging tables. Google processes this data to provide the requested translation and does not use it to train models under our Google Cloud agreement. We have turned off Google's automatic prompt caching for our projects; the only content we cache at Google is our own fixed translation instructions, never your messages. Google may retain prompts and responses for up to 30 days solely to monitor for abuse (Section 6.2).
- Recently Translated Messages: To avoid translating the same text twice, we keep recently translated messages in our server's memory: the text, any conversation context that was sent with it, and its translation. The number of entries is limited, and the least recently used entry is removed first. No entry is kept for more than 48 hours, however often it is used. When a message is deleted in a server where Pigona is present, the cached translations that Pigona can link to that message are removed as soon as Discord notifies us. A translation you request yourself with a command such as Translate to My Language, and any copy of a message kept only as conversation context for another message, are not removed this way; they stay until they are pushed out of the cache, reach the 48-hour limit or Pigona restarts. The cache is held in memory only, is never written to disk or a database, and does not survive a restart. Separately, when you use Translate to My Language on a message that is already in your translation language and you have not saved a language, we also keep that message's text for about 15 minutes so that a language you pick on the reply can translate it. That copy is used only for your reply, is shown to no one else, and is discarded sooner if the reply expires or Pigona restarts. Picking a language sends the text to our AI translation provider as described under Message Content and may use Translation Credits.
- Attachment Content (images, documents, voice messages and text files): When you use the Translate Attachment command on a message, the selected file - an image, a PDF document, a voice message or a text file - is downloaded from Discord and sent to our AI translation provider (Google Gemini models on Google Cloud, EU multi-region) so the text in it can be read and translated. For a text file (.txt, .md, .srt or .vtt), the file itself is not sent: we read its text on our own servers, remove invisible control characters from it, and send only that text - for a subtitle file with timing lines, the numbering and timestamps stay on our servers and only the subtitle text is sent. The text we keep for Show original is the whole text of the file, including a subtitle file's timing lines, and is covered by the 15-minute rule below. This only happens when you run the command yourself - files posted in channels are never processed automatically. The file is held in memory only for the duration of that single request and is then discarded: we do not save it to disk, store it in any database, or keep it in a cache. Before a PDF is sent to our AI translation provider, we may remove duplicated text layers (text the file draws twice at the same spot) from a copy of it on our own servers; that copy is held in memory only, is never written to disk, and is discarded together with the original as soon as the request is done, and we make no other change to its content. The same provider terms as for message content apply.
- Voice messages: When you use Translate Attachment on a voice message (or another .ogg audio file), the audio is processed in memory for that one request only. We first decode it on our own servers to find the parts that contain speech, and only those speech portions are sent to our AI translation provider (Google Gemini models on Google Cloud, EU multi-region) to be transcribed and translated; silence is removed before sending, and a recording with no speech in it is not sent at all. The audio, the decoded sound and the speech portions are never written to disk, stored in a database, cached or logged, and are discarded as soon as the request is done. We do not create voice prints and do not identify or recognise speakers. About a voice message we log only numbers - its duration, the duration of speech sent, and the length and writing system of the transcript - never the audio or the words spoken. The transcript of what was said is handled like any other text read from an attachment (below). The same provider terms as for message content apply.
- Text read from an attachment: For a PDF we additionally extract the document's text on our own servers before sending it, in order to count its pages and to check afterwards that the translation covers the whole document. That extracted text is used for its length only, is never sent anywhere, and is discarded as soon as the check is done. The text read from an attachment, and its translation, are held in our server's memory for at most 15 minutes from when they were produced, for two purposes: so you can view them with the Show original and Copy text buttons on your result, and so that when another member runs Translate Attachment on the same attachment, into the same language, within that time, they are shown the same result without the file being downloaded or sent to our AI translation provider again. This means a result produced for your request may be shown to another member who can see the same message and asks for the same language. Only this text is kept for that purpose, never the file itself. When the message is deleted, or the attachment is removed from it by an edit, in a server where Pigona is present, the copy kept for other members is removed as soon as Discord notifies us of the change; the buttons on results already delivered keep their copy until they expire, which is still within the same 15 minutes. The text is never written to disk or a database and does not survive a restart. We record only metadata about the request (languages, Translation Credits charged or saved, token counts), never the file or the text found in it.
- Translations you download: When a translated document is too long to show in a message, the Copy text button delivers it as a .txt file. That file is created in memory and uploaded to Discord, which means the copy Discord holds is governed by Discord's own retention and not by the in-memory handling described above - Discord acts as an independent controller for it (Section 6.1). We keep no copy.
- Translated PDF with the original layout (experimental): When you choose the Download translated PDF button on a result, the PDF is downloaded from Discord and processed on our own PDF service, where it is held in memory only for that single request and never written to disk or a database. The text found in it is sent to our AI translation provider (Google Gemini models on Google Cloud, EU multi-region, under the same terms as for message content) to be translated, and the translated PDF is uploaded back to Discord as a private message that only you can see. Once it is on Discord, the copy Discord holds is governed by Discord's own retention (Section 6.1), and if you press Share in channel the PDF is posted publicly under your name. We keep no copy of the file or its text.
- Measuring the translated PDF experiment: To judge whether this feature works well, we record, for each time the button is shown and each time it is clicked: a random ID, the time, the target language, the estimated cost, the outcome (for example delivered, refused or failed) with a short reason code, and how long it took. If you choose Useful or Layout broken on a delivered PDF, we also store that single fixed choice. None of this includes your Discord User ID, your server or channel ID, file names, or any document content. The random ID of a click is also used to group our technical usage records for the AI provider call (token counts and server-level identifiers, never User IDs or content), so that we can calculate the cost per delivered PDF.
- No-Account PDF and Image Translation Tool: Our website also offers a separate, free translation tool for PDF documents and images at pigona.app/tools/pdf-translator that needs no Discord account, login, or session. An uploaded document or image is sent to our AI translation provider (Google Gemini models on Google Cloud, EU region, under credentials separate from the bot's own - Section 6.2) and is used only for that single request. While a larger upload is being received, our web server may briefly hold it in a temporary file on the server, which is deleted when the request ends; we never keep the file, cache it, or store it in any database. Before an image is sent, we check only its first few bytes on our own servers to confirm it really is a PNG, JPEG or WebP file; the image is not otherwise opened, altered or stored. Log entries for this tool record byte counts, page counts, file types, and outcome codes only - never document or image content, extracted or translated text, or filenames. Because there is no account to attach a usage limit to, the tool uses your IP address as the key for two limits, both held in server memory only (never a database, never disk): (1) one free translation per visitor - a PDF or an image, not one of each - kept for up to 30 days after that free translation, solely to recognise that it has already been used; and (2) a limit of three failed translation attempts per 24 hours - when a document or image reaches our AI provider but no translation can be delivered (for example, the result was incomplete, or no readable text was found), your IP address and the time of that attempt are kept for up to 24 hours, solely to stop the tool being used for unlimited free processing. Both records are deleted automatically once their window passes or the server restarts, whichever comes first. These are distinct, limited-purpose uses of your IP address, separate from both the hashed visitor identifier under Website Analytics Data and the hosting provider's Website Logs described elsewhere in this section - they exist only to enforce this tool's usage limits.
- Usage Metadata: We store metadata such as languages translated, Translation Credit usage counts (UserQuota, ServerQuota), feature interaction types (e.g. Auto-Translate, Relay, Summarize), and error logs for analytics and debugging purposes. Per-feature usage counts associated with a User ID may be visible to server administrators who have been explicitly granted privileged access rights by the Discord server owner, for the purpose of server moderation and abuse prevention. User IDs are resolved to Discord usernames for display and are never exposed as raw identifiers. All other usage data is processed in a pseudonymous or aggregated form wherever possible.
- Referral & Growth Data: When you use a referral link/code, we process and store the link between your account and the referrer's account (Referral table) and track your points and prestige level (Pigona Prestige profile). This data is necessary to execute the "Pigona Prestige" program (contractual performance).
- Payment & Subscription Data: We store your subscription status, tier, billing cycle, and Dodopayments identifiers (Subscription and SubscriptionEvent tables) to provide premium services and verify payment status. We do not store full credit card numbers; payments are processed securely by our Merchant of Record, Dodopayments.
- Vote Rewards (top.gg): When you vote for Pigona on top.gg, top.gg (an independent third party, Section 6.1) notifies us with your Discord User ID and the time of the vote. We store your User ID, the time, the server you chose to credit with /vote or a Vote button in a server (if any) and the bonus Translation Credits awarded, so that each vote is rewarded once. When you run /vote or press a Vote button in a server (for example under /help), we also briefly store your User ID and that server, and delete it after 24 hours. So that we can tell you what your vote earned, we also keep, with that record, the temporary token Discord gives the bot to edit the private reply you were shown (it stops working 15 minutes after the command) and your Discord language. We delete the token as soon as we have used it, and in any case when that record is deleted.
- Withdrawal Declarations: If you exercise your statutory 14-day right of withdrawal, we record your User ID, the server (if any), the subscription concerned, the time of the declaration and a snapshot of the billing period, as evidence that the declaration was made and of what it covered.
- User Configuration: We store your personal settings, such as preferred target language and enabled status, to customize your experience.
- Enforcement Data: We maintain records of policy violations and bans, including reasons and timestamps, to enforce our Terms of Service and protect our community.
- User Submissions: Feedback or reports you voluntarily submit to us are stored to help us improve our services.
- Website Logs: Website server log files (e.g., IP address, browser type) are automatically collected by our hosting provider and typically retained for 30 days for security and stability, then automatically deleted or anonymized.
- Website Analytics Data (Umami): When you visit our website, we collect limited, pseudonymous usage data via our self-hosted Umami analytics instance. This includes page views, interaction events, approximate location (country, region, city), device type, operating system, browser, screen size, browser language, visit timestamps, and a pseudonymous visitor identifier generated server-side (Section 8). When you arrive through a link that carries a campaign label - for example a link in a message from our Discord bot - we also record the two label values (utm_source and utm_medium), whose values are chosen by whoever posted the link. This data is not used to identify you personally, is not combined with other datasets, and is processed solely to understand website usage and improve our services.
- Error & Performance Data: To ensure the stability and security of our services, we collect technical data when errors or crashes occur. This includes technical metadata (e.g., operating system, browser version, command name) and, where necessary to debug a specific crash, a partial stack trace. Error reports are sent to a private, operator-controlled channel and are not shared with third-party processors.
- Command Interaction Analytics: When you use a slash command, button, select menu, modal, or context menu in Discord, we log the interaction type, the command name or component identifier, your User ID, your server ID (if applicable), and your Discord locale setting. We do not log message content or command argument values. This data is used for product analytics and to understand how features are used.
- App Installation Records: When you add or remove the Pigona user app on your Discord account, we store your User ID, whether the event was an installation or a removal, and the time it occurred. We do not store any other part of your Discord profile with it. This is used to understand how many people install the app and how long they keep it.
- Install Source Records: When you add Pigona through one of our own links (for example on our website or in a bot-list listing), we record a short label for that link, the time, and, for a server installation, the Server ID. We do not store your User ID, your server's name, your IP address or anything else about you in this record. For a personal installation, the app installation record above is created at the same moment, so the two can be matched by time for as long as that record exists; once your App Installation Record is erased under Section 7, the install source record can no longer be linked to you. A server installation is matched by Server ID instead, not by time. It is used only to see which links lead to installations.
- Ticketing & Support Data: When you use our support system (e.g., /feedback), we create a Discord Thread. We store the association between the ticket and your User ID to facilitate communication and track resolution history. Conversation content within these tickets is processed to provide support.
Necessity of providing data: Providing your Discord User ID and related identifiers is a contractual requirement necessary to use the Service. Without this data, we cannot deliver translations or manage your account. Payment data is required only if you subscribe to a paid tier and is processed by Dodopayments; we do not receive or store your payment details. All other data collection (e.g., analytics, error logs) is based on legitimate interests and does not require your active provision.
4. Purpose and Legal Basis for Processing
We process your data to provide our translation services and ensure their stability. The legal basis for this processing is:
- Contractual Performance (Art. 6(1)(b) GDPR): Processing requests, delivering translations, managing quota limits, and executing the Pigona Prestige referral and rewards program.
- Legitimate Interests (Art. 6(1)(f) GDPR): Error logging and technical monitoring, abuse prevention, service optimization, customer support (Ticketing), privacy‑friendly website analytics (Umami), command interaction analytics, and providing server administrators with per-feature usage data for moderation purposes. Access to per-user usage data is strictly limited to server administrators explicitly granted privileged rights by the server owner, consistent with their role as operators of their Discord community.
Concrete legitimate interest (Art. 13(1)(d) GDPR): Our legitimate interest is the secure, stable, and continuously improving operation of the Pigona translation service - specifically: (a) detecting and remediating bugs and outages that would otherwise interrupt the service for paying and free users, (b) preventing fraud and abuse of free Translation Credits, (c) understanding aggregate feature usage patterns to prioritize product development, and (d) enabling Discord server administrators to moderate their own communities effectively. We have weighed these interests against your rights and freedoms and concluded that processing is limited to operational metadata (IDs, command names, error types) and pseudonymous analytics; we do not seek or intentionally collect special-category data (Art. 9 GDPR); however, text or files you submit for translation can incidentally contain such information, which we process only to perform the translation or summary requested, do not use for any other purpose, and do not keep beyond that request except as described in Sections 3 and 5; we do not profile users, and do not share data with third parties for advertising. Your right to object on grounds relating to your particular situation (Section 7) is unrestricted.
- Legal Obligation (Art. 6(1)(c) GDPR): Retention of transaction records relating to paid subscriptions, which serve as booking vouchers (Buchungsbelege), for 8 years under § 147(3) AO, counted from the end of the calendar year in which they arose.
5. Data Retention
- Operational Data: Retained as long as you use our service (e.g., IDs, settings). Data associated with inactive accounts will be deleted after 12 months of inactivity, with the single exception of the App Installation Records described below.
- Message Content: Transient; discarded by us immediately after processing, except for the in-memory copies described under Recently Translated Messages in Section 3 (a size-limited cache kept for at most 48 hours, and about 15 minutes for a same-language reply). Google may retain prompts and responses for up to 30 days solely for abuse monitoring (Section 6.2).
- Text Read from an Attachment: The file itself is discarded when the request is done. The text read from it and its translation are kept in memory for at most 15 minutes from when they were produced - including the copy held by the Show original and Copy text buttons on any result that shows them. When the message is deleted in a server where Pigona is present, the copy kept for other members is removed straight away; results already delivered keep theirs until their buttons expire, still within those 15 minutes (Section 3).
- No-Account PDF and Image Translation Tool: The uploaded document or image is discarded immediately after each request; nothing about it is retained. The per-IP free-translation record is kept in server memory for up to 30 days from your one free translation, and the per-IP record of failed attempts for up to 24 hours from each attempt; both are deleted automatically and neither survives a server restart or redeployment.
- Translated PDF Experiment Records: Records of when the translated PDF button was shown and clicked, and any Useful or Layout broken choice, are deleted automatically 90 days after the button was shown. The PDF and its text are never retained (see Text Read from an Attachment above).
- Subscription Data: Payment data is processed by Dodopayments. We do not store credit card information on our servers. Transaction records are retained for 8 years from the end of the calendar year in which they arose, to comply with German tax law (§ 147(3) AO). If we grant manual tiers, these status records are kept while active.
- Withdrawal Declarations: Retained for 3 years from the end of the calendar year in which the declaration was made (the regular limitation period, § 195 and § 199 BGB), as evidence that the declaration was made and of what it covered. They are not deleted on an erasure request for that reason (Art. 17(3)(e) GDPR).
- Vote Records: Kept for 12 months from the vote and then deleted automatically. The short-lived record of the server you chose with /vote or a Vote button, including the temporary reply token and your Discord language kept with it, is deleted after 24 hours.
- Website Analytics Data (Umami): Pseudonymous website analytics data (e.g. page views, device and browser information, approximate location, and a random visitor identifier) is retained for up to 12 months for service improvement and statistical analysis, after which it is deleted or aggregated into non-identifiable statistics.
- Enforcement Data: Records of policy violations and bans are retained for the duration of the ban or 3 years after resolution (aligned with the standard limitation period under § 195 BGB), whichever is longer, to prevent repeat abuse.
- Support Ticket Data: Ticket associations and resolution history are retained for 12 months after ticket resolution, then deleted.
- App Installation Records: Kept for as long as we operate the Service, and deliberately not subject to the 12-month inactivity rule above. These records exist to tell us how many people install Pigona and how long they keep it, which is a question about the Service's own history rather than about any individual: deleting the record of an installation would also destroy the record of the removal that followed it, which is precisely the information the record is kept for. They consist only of your User ID, whether the event was an installation or a removal, and the time it occurred - we build no profile from them and use them only in aggregate. You can have them erased at any time under Section 7, and we delete them outright when you do.
- Install Source Records: Deleted automatically after 12 months.
- Command Interaction Analytics: 365 days from the date of the interaction, after which records are automatically deleted.
- Reduced Translation Usage Records: The server-level translation usage records described under Your Rights (Section 7), which keep only the server, language pair, translation size and timestamp after your User ID and message reference have been removed, are kept for as long as we operate the Service, because the server's usage history and dashboard are calculated from them. The 12-month inactivity rule under Operational Data does not apply to them.
6. Third Parties and Processors
We distinguish between independent controllers (parties that decide their own data-processing purposes), joint controllers (parties with whom we jointly determine purposes per Art. 26 GDPR), and processors (parties processing data on our behalf under Art. 28 GDPR).
6.1 Independent Controllers
- Discord (Discord Inc., USA): Discord is the platform on which our bot operates. Discord acts as an independent controller for the data it processes under its own Privacy Policy - including all message content, user accounts, server membership, and platform-wide usage. We are not Discord's processor and Discord is not ours; no Art. 28 DPA exists or is required between us. When you use the bot you also use Discord's service, and Discord's own legal basis applies to its processing. We receive the operational identifiers Discord exposes via its API (User IDs, Guild IDs, Channel and Role IDs, message IDs) and the content of messages in the channels where Pigona can read them. We use that content only when a feature that you or the server's administrators have enabled or invoked needs it - for example to translate a message, to use recent messages as context for a translation, or to include messages in a summary - as described in Section 3. We use what we receive only for the purposes described in Section 4.
- Dodopayments, Inc., USA (Merchant of Record): Dodopayments is the legal seller of record for your subscription. Its own Data Processing Agreement states that in that role it acts as an independent controller (s. 3(1)) for transaction processing and payment facilitation, fraud detection and prevention, risk analysis, sanctions screening and regulatory compliance, tax calculation and remittance, and chargeback and dispute management. The same agreement records that no joint controller relationship arises between us (s. 3(4)). Where it instead processes data on our documented instructions it is our processor, and that part is listed under 6.2.
- top.gg: The bot list website where you can vote for Pigona. top.gg acts as an independent controller for your top.gg account and your vote, under its own privacy policy; we are not its processor and it is not ours. When you vote it sends us your Discord User ID and the time of the vote (Section 3). We send it only aggregate statistics about the bot, such as the number of servers and users, never personal data.
6.2 Processors (Art. 28 GDPR)
The following parties process data on our behalf under Data Processing Agreements:
- Google Cloud EMEA Limited (Gemini Enterprise Agent Platform, formerly Vertex AI), Ireland: Processes message text, and images, documents and the speech portions of voice messages you explicitly submit with the Translate Attachment command, for translation in Google Cloud's EU multi-region under the Google Cloud Data Processing Addendum. The same provider, under a separate project and its own credentials, also processes documents and images uploaded to the no-account PDF and image translation tool described in Section 3, in Google Cloud's EU region. Under those terms content is not used to train models. We have turned off Google's automatic prompt caching on our projects, so the only content cached at Google is our own fixed translation instructions, never your messages. Google may log prompts and responses for up to 30 days solely to monitor for abuse; that data is stored in the same region. Google may involve its group companies, including Google LLC (USA), as sub-processors under the same addendum.
- Dodopayments, Inc., USA: Acts as our processor only where it processes personal data on our documented instructions - for example the reporting and analytics it provides back to us, and support handled at our direction (Dodo Payments DPA, s. 3(3)). The payment processing it performs as Merchant of Record is a separate matter and is listed under 6.1.
- Databricks, Inc. (operating Neon Postgres), USA: Managed PostgreSQL database hosting. Neon, LLC has been a Databricks company since May 2025; the contracting legal entity is Databricks, Inc.
- DigitalOcean, LLC, USA: Virtual server hosting for the bot, backend, and frontend.
6.3 Other Service Providers
- Dynadot, LLC, USA: Domain registration and email hosting for our support address. Emails sent to support@pigona.com are transmitted and stored using Dynadot's email hosting service and are processed in accordance with Dynadot's terms of service and privacy policy. We have not concluded a separate Art. 28 GDPR data processing agreement with Dynadot. We use this mailbox for support only; please do not send documents, special-category personal data, or other sensitive information by email.
International transfers: Translation content is processed by Google Cloud EMEA Limited in Google's EU multi-region, so we do not ourselves transfer it to the USA. Where Google's group companies outside the EEA, including Google LLC (USA), act as its sub-processors, those transfers are governed by Google's Cloud Data Processing Addendum, which incorporates the EU standard contractual clauses. Where we otherwise transfer personal data to the USA, we rely on the transfer mechanisms described in this section where applicable. DigitalOcean, Dodopayments, and Databricks (covering Neon Postgres) participate in the EU-U.S. Data Privacy Framework (DPF). Dynadot is a US-based provider used for our support mailbox, as described in Section 6.3.
7. Your Rights
Under the GDPR, you have the following rights regarding your data:
- Right of Access: Request a copy of the data we hold about you.
- Right to Rectification: Correct inaccurate data.
- Right to Erasure ("Right to be Forgotten"): Request deletion of your data.
- Right to Data Portability: Receive your data (processed under contract or consent) in a structured, commonly used, machine-readable format.
- Right to Restriction: Request limitation of processing under certain conditions.
- Right to Object (Art. 21(1) GDPR): You have the right to object at any time, on grounds relating to your particular situation, to any processing of your personal data based on Art. 6(1)(f) GDPR (legitimate interests). This applies to all processing listed under "Legitimate Interests" in Section 4 - including error logging, abuse prevention, command interaction analytics, website analytics (Umami), and per-feature usage data shared with privileged server administrators. If you object, we will cease the relevant processing unless we can demonstrate compelling legitimate grounds for the processing that override your interests, rights, and freedoms.
- Right to Object - Direct Marketing (Art. 21(2) GDPR): Independently of the above, you have an absolute right to object to the processing of your personal data for direct marketing at any time. We do not currently engage in direct marketing. If we ever introduce such processing, an objection from you will result in immediate cessation - no balancing test applies.
- Automated Decision-Making: We do not engage in automated decision-making or profiling within the meaning of Art. 22 GDPR.
- Right to Lodge a Complaint: You have the right to lodge a complaint with a supervisory authority if you believe that the processing of your personal data infringes the GDPR. The competent authority for us is: Bayerisches Landesamt für Datenschutzaufsicht (BayLDA) - Promenade 18, 91522 Ansbach, Germany.
How we carry out erasure: Records that identify you are deleted outright - your settings, quotas, command history, error logs, feedback, growth and referral records, your vote records, your app installation records, and your translation usage records that are not tied to a server (for example from direct messages). Your translation usage records from a Discord server are retained in reduced form: we remove your User ID and the reference to your original message, keeping only the server, language pair, translation size, and timestamp. Because these records could potentially be linked to messages using Discord server history, we do not claim that they are fully anonymous. We retain them only to preserve the accuracy of the server's usage history and dashboard, for the period stated under Reduced Translation Usage Records in Section 5. Data held under a separate legal basis is retained regardless; Section 5 sets out what those bases are and how long each applies.
Translated PDF experiment records contain no user identifier, so we cannot look them up by person; they are deleted automatically after 90 days (Section 5).
To exercise these rights, please contact us via our Support Server or by email at support@pigona.com. We will respond to your request without undue delay, and in any event within one month of receipt. This period may be extended by a further two months where necessary, in which case we will inform you of the extension and reasons within one month.
8. Cookies and Local Storage
We use Umami Analytics, a privacy-focused, self-hosted open-source analytics solution, to analyze website usage. Umami does not use cookies, does not track users across websites, and processes only pseudonymous usage data such as page views, interaction events, approximate location (country, region, city), device type, browser, and operating system. The page address we record is the page path plus, where present, the two campaign labels described in Section 3; every other query parameter and any fragment is removed in your browser before the data is sent.
Visitor identifier (Umami): The pseudonymous visitor identifier referenced in Section 5 is generated entirely server-side as a daily hash of your IP address, user-agent, and a rotating server-side salt. It resets every 24 hours when the daily salt rotates. Umami writes nothing to your device - it sets no cookie, stores no identifier in local storage or IndexedDB, and uses no fingerprinting beacon.
It does read a little from your browser, and we would rather set that out than round it down. The measurement includes your screen size and browser language, which the script reads from your browser. It also checks one local-storage value, umami.disabled, which is the flag Umami itself uses to suppress measurement; that read has no effect other than to stop us measuring, and we consider it covered by § 25(2) TDDDG. What Umami collects is a small, fixed set of attributes and a count of pages viewed, not a recording of what you do. This is our assessment of a question on which views differ rather than a settled point of law, and we would rather say so than claim that nothing on your device is accessed at all. You can object to Umami analytics at any time under Section 7.
Aside from these, we do not use any marketing or tracking cookies. Should we decide to implement such technologies in the future to improve our services, we will update this policy accordingly and, where legally required, obtain your explicit consent via a cookie consent banner before any such data is processed.
We use technically necessary cookies and local storage to facilitate the Discord OAuth login process and to maintain your active session. These cookies are exempt from the consent requirement under § 25(2) TDDDG (Telekommunikation-Digitale-Dienste-Datenschutz-Gesetz), as they are strictly necessary for the operation of the service. The associated data processing is based on Art. 6(1)(b) GDPR (contractual performance), as these cookies are required to deliver the service you requested. Session cookies typically expire when you close your browser, while authentication tokens may persist for a set duration to maintain your login state.
9. Data Security
We implement appropriate technical and organizational measures to protect your data, including TLS encryption for data in transit, provider-level encryption at rest, and restricted access to production systems. However, please be aware that no method of transmission over the internet or electronic storage is 100% secure.
10. Data Breach Notification
In the event of a personal data breach that is likely to result in a risk to your rights and freedoms, we will notify the competent supervisory authority without undue delay and, where feasible, within 72 hours. If the breach is likely to result in a high risk to you, we will also inform you directly without undue delay via bot direct message and/or email (where available), providing details of the nature of the breach and recommended protective measures.
11. Children’s Privacy
Our services are available only to users who meet Discord's own minimum age requirement (currently 13, or higher where local law sets a higher age). In Germany we additionally require users of the free tier to be at least 16, as stated in our Terms of Service. Paid subscriptions require you to be at least 18 everywhere. We do not knowingly collect or process personal information from individuals below these age limits.
12. Changes to this Policy
We may update this Privacy Policy from time to time to reflect changes in our practices or for legal reasons. The "Last Updated" date at the bottom of this policy will indicate the latest revision. For material changes that affect your rights or the legal basis of processing, we will notify you in advance via bot notification and/or email where available and, where required, obtain fresh consent.
13. Contact Us
If you have questions about this policy, please join our Support Server or email us at support@pigona.com.
Last Updated: October 11, 2026