Privacy
What data we process
Last updated 20 October 2026.
This is an English translation. If it differs from the Icelandic text, the Icelandic text governs.
Controller
Send questions and requests for access to, correction or deletion of data to the email address below.
DB consulting ehf. · Reg. no. 600722-1070 · hallo@hreinskrift.is
Your text and the text bank
The text you send goes to the language model that does the work. Who those providers are and where they operate is set out in Who processes the data, and where.
Text from free use is kept. Texts you send free of charge, on the front page without signing in or within your account's free daily allowance, are kept in a text bank together with the results. We use the bank to improve the service: to review and correct translations, test new versions, and train and tune the models that Hreinskrift uses.
Personal data is removed. Before text goes into the bank, we replace Icelandic ID numbers (kennitala), email addresses, phone numbers, card numbers, bank account numbers and API keys with markers such as [kennitala], and people's names and street addresses with [nafn] and [heimilisfang]. We recognise names in every inflection. If a text cannot be checked, it is not kept. No automatic search is perfect, though, so do not send sensitive personal data in free use.
You can opt out. Choose “Don't keep my texts” in the text box's menu on the front page (your browser remembers the choice), or “Ekki geyma texta úr ókeypis notkun” (don't keep text from free use) under Settings; that setting applies to the whole account, including the API and the command-line tool. In a single API call, you send "contribute": false.
Text from paid use does not go into the text bank. Texts paid for from credit do not go into the bank unless you specifically allow it, in your account or with "contribute": true. Like all other texts, they are kept in your run history.
Legal basis and retention. Keeping text from free use is based on Hreinskrift's legitimate interest in improving the service (Article 6(1)(f) of the General Data Protection Regulation, cf. the Data Protection Act No. 90/2018), and you can object to it at any time as described above. Keeping text that you specifically allow is based on your consent. Texts are deleted from the bank after three years. You can ask for a particular text to be deleted sooner by sending us the request ID (it starts with r_). Keeping text from free use covers texts sent from 7 October 2026 onwards; older texts were not kept without consent.
Text you send through the ChatGPT and Claude connectors is not kept in the text bank, even if you have allowed text to be kept elsewhere in your account. We log usage and keep an operation ID and a fingerprint of the input to prevent double processing and double charging. The fingerprint is computed with a secret key; neither the input nor the result is stored to be sent again on a repeated request. The input and the result are, however, kept in your run history. Language model providers still process the text as described above.
Run history
From 13 October 2026, the text you send and the result are kept with your account until you delete them, together with what was done to the text, the cost and the decisions you and your team make about the result. This covers every way in: the website, the API, the command line and connections such as ChatGPT and Claude.
Only you and your team can see them. They are not used to train or improve Hreinskrift; only the text bank rules above decide that.
You can delete a single run's text on its page, or switch run history off under Settings; then only the figures and decisions are kept. A single call can also be sent without its text being kept: with “Don't keep my texts” on the website, --no-store on the command line, or "contribute": false in the API. If the account is deleted, its run history is deleted with it.
Legal basis. Run history is part of the service you use, so that you can review, approve and correct what Hreinskrift returned, and is therefore based on our contract with you.
Who processes the data, and where
Hreinskrift runs on Hetzner servers in Helsinki, Finland, inside the EEA. These service providers process data for us, each only what it needs for its part:
- OpenRouter (United States) passes the text to the language model that does the work. The models are from Google, OpenAI, Anthropic and DeepSeek. We ask OpenRouter to send the text only to providers whose terms say they neither collect it nor train on it.
- TypeSafe receives a sample of the text, up to 3,000 characters, when you improve or translate a text. It identifies what kind of text it is and its field, so that the right tone and terms are used. Proofreading is not sent there.
- Postmark (United States) sends our emails, for example email confirmation and password reset links. It receives the email address and the message.
- Cloudflare receives mail sent to Hreinskrift's addresses and forwards it to us.
- Kling handles payments; see Payments.
- Google handles sign-in with Google if you choose it, and Google Analytics if you allow it; see below.
- Telegram carries a notice to us when an account is created or a payment goes through. It contains the username and, for a payment, the amount, but never an email address, card details or text.
Personal data is taken out first. Before any text goes to OpenRouter or TypeSafe, we remove ID numbers (kennitölur), email addresses, phone numbers, card numbers, bank account numbers and street addresses and put placeholders in their place, and the same for other services' keys and passwords found in text or code. When the result comes back, we put the details back on our own servers. In an API call you can also list words that must not reach the models, such as client or project names (mask). People's names are not removed at this step: they inflect in Icelandic, and the text would otherwise not come out right. They are taken out before any text goes into the text bank.
Transfers outside the EEA. Some of these providers are outside the EEA. Transfers to OpenRouter rely on the European Commission's standard contractual clauses in OpenRouter's data processing agreement, and transfers to Postmark and Cloudflare on their certification under the EU–U.S. Data Privacy Framework.
Accounts
- Username and password: passwords are stored only as hashes (PBKDF2), never as plain text.
- Sign-in with Google: if you choose this option, we receive your Google account ID and email address. We ask Google for nothing else, and we do not use the email address for marketing.
- API keys: only a hash of the secret part is stored. The key that
hreinskrift loginfetches is saved on your computer, but we do not hold it in readable form. - Passkeys: we store only the public part of the key, the name it is given, whether it is synced between devices, and when it was added and last used. The private key stays on your device and never reaches us. You delete passkeys under Settings.
- Connected apps (for example ChatGPT): when you connect an app to your account, we record the connection: which app, which API key you chose, the permissions you approved (to fix text, to see the status of fixes), whether the connection may use credit, and when it was made. The connection's access and refresh tokens are stored only as hashes. While you sign in and approve, we keep the app's connection request, tied to your browser by a secret key that we store only as a hash; the request is valid for 15 minutes and expired requests are deleted regularly. You can disconnect an app at any time under Connections, and its connection then stops working immediately. Disconnecting does not delete usage and accounting records already created, nor the record that the connection existed.
Usage and security
For each call we record the time, the key, the account, the IP address, the length of the text, which language models were used, the number of tokens, the estimated cost and how the call ended. This information is needed to calculate usage, settle credit and detect misuse. Sign-ups, sign-ins (including failed ones) and the creation and revocation of keys are recorded with the IP address. IP addresses are deleted after 90 days; everything else is kept for the cost and accounting history.
Visits to the website
To see how the site is used we count page views, without cookies. For each page we record the path, the name of the site that linked to it (never the full address), the browser's time zone and language, whether the device is a phone or a computer, and whether the visit is a search engine or a bot. The IP address is not stored: the visitor gets an anonymous identifier that changes every day, so it cannot be traced to you or link visits across days. If your browser asks not to be tracked (Do Not Track or Global Privacy Control), nothing is recorded. Page views are deleted after 13 months.
Google Analytics
If you allow it, Google Analytics (Google Ireland Limited) also measures your visit: which pages you view, where you came from and what kind of device and browser you use. Google then sets cookies in your browser. Nothing goes to Google until you say yes, and never if your browser asks not to be tracked (Do Not Track or Global Privacy Control). Google never gets pages that are only for you: the dashboard, your history or links with tokens. Google is also told when an account is created and when a payment goes through, with the amount and a payment number, but never who you are. We do not use Google's advertising features. You can change your mind at any time.
Payments
Payments are made on Kling's payment page (kling.is). Hreinskrift never sees card numbers. We keep only the IDs that Kling assigns to the customer and the payment method, and the card's label (for example “Visa •••• 4242”), so that you can see which card is saved. Credit transactions are recorded so that you can see where your credit went.
Cookies
We use necessary cookies, and Google Analytics cookies only if you allow them. No advertising cookies are used.
portal_token: keeps you signed in. 30 days, or until you sign out.ws: the workspace you chose. 1 year.altalandi_lang: the site's language. 1 year.google_oauth: protects sign-in with Google. 10 minutes.altalandi_oauth_binding: protects the sign-in when you connect ChatGPT or Claude. 15 minutes.admin_session: administrators only. 8 hours._gaand_ga_FS9Q2XS525: Google Analytics, only if you allow it. 2 years.
A few settings are also kept in your browser itself (localStorage): whether you allowed Google Analytics, light or dark theme, whether text may go into the text bank, whether proofreading suggestions are shown or applied, whether you declined a passkey, and the chat conversation's id. They are removed when you clear your browser's data.
Your chats are also kept in the browser. From 19 October 2026, your chats in the tool, the text and the results, are kept in localStorage together with your projects and pinned chats, so you can find them again in the sidebar. They stay in this browser only, separate for each account, and are not sent to us from there. Chats where you chose “Don't keep my texts” are not kept. You delete a single chat in the sidebar, and all of them by clearing your browser's data, so on a shared computer sign out and clear it.
The text you are writing in the tool is kept in the tab itself (sessionStorage), so a reload or creating an account does not lose it; it is gone when the tab is closed.
Your rights
You have the right to access your data and receive a copy in a machine-readable format, to have it corrected or deleted, and to restrict its processing. You can object to processing based on our legitimate interests, such as keeping text in the text bank, and withdraw consent at any time. You can delete keys under API keys. Send a request to hallo@hreinskrift.is. You can also complain to the Icelandic Data Protection Authority (Persónuvernd, personuvernd.is).