Version dated 2 October 2026. This English version is provided for information only — the binding version is Polish, see § 13.
This is an English translation of the Polish Privacy Policy (/prywatnosc) provided for convenience. In case of any discrepancy, the Polish version prevails.
The controller of personal data processed in the BannerlordDB service is Bartosz Woźnica, e-mail: contact@bannerlorddb.com. The controller has not appointed a Data Protection Officer — this is not required under Article 37 GDPR.
a) Account data. Username (which may be a pseudonym), password hash, account creation date, and the Terms version accepted at registration with its timestamp. We do not collect an e-mail address, name, or any contact details. Passwords are stored only as a salted cryptographic hash — never in plain text.
b) Session. A random session token (32 bytes of
entropy), creation and expiry timestamps. The token is stored in the
browser's local storage (localStorage), not in a cookie,
and sent to the server in a request header.
c) Daily query counter. A subject key, a date, and a count of queries used. For logged-in Users the key is the Account identifier; for Guests it is a browser-generated identifier. In addition — for the per-IP limit on free Queries (cf. Terms § 6), which covers both Guests and logged-in Users — the IP address (stored only as its HMAC hash when the server has a key configured). A separate per-IP counter also limits how many Accounts can be created from one address per day (Terms § 6).
d) Content saved by the User. Logged-in Users only: chat history, saved character builds, policy sets, smithing sets, hand-made weapons, army plans and equipment sets — entirely generated by the User while using the Service. In addition, to improve the assistant, we store the text of questions asked by logged-in Users together with the outcome (answered / error / limit / aborted), without the text of the answers.
e) Web server logs. IP address, timestamp, request path, HTTP status code and User-Agent header — standard access logs produced by the server software.
f) Support via Patreon (only for Users who connect their accounts). The Patreon account identifier, the time the accounts were connected, and the top-up history: support tier and number of assistant credits granted, the Patreon charge identifier and date, plus the membership status and the date of the last paid charge (the saved-set limit depends on them). For every Query paid with credits we also record the credits it took (or their refund) and the actual cost of handling it at the language-model provider — to settle the Query in credits (Terms § 7), for cost control and for handling complaints. We do not receive payment card details or an e-mail address from Patreon — the payment is handled by Patreon alone. Connecting the accounts is voluntary and can be undone at any time with the “Disconnect Patreon” button in the Account panel; this removes the Patreon account identifier, while the top-up history remains as a record of settlement (see § 4).
g) Visit statistics. These are counted by the Umami software running on our own server (the same one that runs the Service). When a page is viewed we record: the page address and title, the address of the page the User came from (referrer), the type of browser, operating system and device, screen resolution, browser language, the country, region and city derived from the IP address, the time of the visit, and events in the Service (sending a chat question together with its topic, reaching the daily limit, clicking the support or Patreon-connect button). The IP address is not stored — it is used only to derive an approximate location and to compute a one-way hash identifying the visit. The hash is keyed with a server secret and a salt that changes daily, so visits from different days cannot be linked. Statistics are not linked to the Account or the username. If the browser sends a “Do Not Track” signal, no statistics are collected.
h) Bug reports and feature suggestions. The “Report” button in the footer sends: the kind of report, its title and description, up to three screenshots, the page address, the selected game version and — only when the sender is logged in — the username. We do not ask for an e-mail address, and the report does not contain the IP address. The limit of reports per address is counted in server memory and is not stored. Screenshots are re-encoded on the server without metadata (including GPS coordinates written by a camera). The report is delivered to the Controller's mailbox, and a copy is kept in the Service's database.
| Purpose | Legal basis |
|---|---|
| Creating and running the Account, providing the Service | Art. 6(1)(b) GDPR — performance of a contract (the Terms) |
| Enforcing daily query limits, abuse prevention, Service security, server logs | Art. 6(1)(f) GDPR — legitimate interest (protecting the infrastructure and the cost of AI services from abuse) |
| Establishing, exercising or defending legal claims | Art. 6(1)(f) GDPR |
| Visit statistics — where visitors come from, which features they use, where the Service needs improvement | Art. 6(1)(f) GDPR — legitimate interest (maintaining and developing the Service) |
| Receiving a bug report or feature suggestion and responding to it | Art. 6(1)(f) GDPR — the Controller's legitimate interest (improving the Service) |
Mail for reports. Report e-mails are sent through an external mail (SMTP) provider chosen by the Controller, which processes the report text and screenshots on its behalf. The recipient is the Controller's mailbox.
To generate chat answers, the Service uses a language model provided by DeepSeek (by default, model "deepseek-v4-flash") — a provider based in the People's Republic of China, outside the European Economic Area. The European Commission has not issued an adequacy decision for China. The transfer is based on: Article 49(1)(b) GDPR — the transfer is necessary to perform the contract concluded with the User at their own request: without sending the question to the model provider, no answer can be produced. The transfer is occasional and limited to what the User types into the chat.
Only the content of chat messages, the fixed system prompt, and the tool definitions used to query the game's knowledge base are sent to the model provider. We do not send your username, Account identifier, or IP address — no model call includes a User identifier. For this reason, please do not enter personal data or confidential information into the chat (see Terms § 8). The Service may optionally use an OpenAI model (United States) instead of DeepSeek — the same principles apply in that case.
The Service is hosted by: Oracle Cloud Infrastructure (Oracle Corporation), on a server in the Frankfurt am Main region in Germany — that is, within the European Economic Area.
If a user connects their Account with Patreon (Patreon, Inc., United States), the Service receives the patron's account identifier from Patreon together with information about the payment (amount, charge status and date). For the payment itself Patreon is a separate data controller with its own privacy policy. The Service does not send Patreon the username, chat content or IP address.
Bot protection at registration. The registration
form uses Cloudflare Turnstile (Cloudflare, Inc., United States). When
you open the registration form, your browser loads a script from
challenges.cloudflare.com, so Cloudflare sees your IP
address and browser data; when you register, our server sends
Cloudflare a verification token and your IP address to confirm that a
human filled in the form. Cloudflare acts as a separate controller
with its own privacy policy. The Cloudflare script may store technical data in your browser needed for verification (under Cloudflare's own terms). It is loaded only on the
registration form, not on other pages of the Service. Legal basis:
Article 6(1)(f) GDPR (protecting the Service and AI costs from
automated account creation).
Apart from that, we do not use third-party analytics tools, advertising services, social media plugins, or third-party CDNs. Visit statistics (§ 2(g)) are counted by Umami running on our own server — this data is not passed to any third party. The typefaces used in the interface are served from our own server rather than Google's — your browser makes no connection to a third party for this purpose.
The Service uses one technical cookie
(bl_patreon_nonce) — only after you click “Connect with
Patreon”. It holds a random one-time value, is valid for 15 minutes, is
sent only to /api/patreon addresses and is removed on the
way back from Patreon; it prevents someone else's Patreon from being
linked to your Account. Apart from that the Service uses no cookies. Nor do we display a
consent banner — not, however, because we avoid cookies, but because
the consent rules cover storing information on terminal
equipment in general, and everything the Service stores is
necessary to provide a service the User explicitly requests. The basis
for that exemption is set out below.
We do use browser local storage (localStorage) to hold:
the session token, a Guest identifier, the chosen language and game
database profile, chat history, and draft character/policy plans.
This storage is necessary to provide features the User explicitly
requests (e.g. staying logged in), so it does not require separate
consent — Art. 399(3) of the Polish Electronic Communications Act (in
force since 10 November 2024), implementing Art. 5(3) of the ePrivacy
Directive. You can clear it at any time by logging out, deleting your
Account (§ 7), or clearing site data in your browser settings.
The visit-statistics script (§ 2(g)) stores nothing in the browser — neither cookies nor local-storage data. It reads the screen resolution, the browser language and the “Do Not Track” setting. To opt out of statistics, turn on “Do Not Track” in your browser; you may also object by writing to the address given in § 1.
Under the GDPR you have the right to: access (Art. 15), rectification (Art. 16), erasure (Art. 17), restriction of processing (Art. 18), data portability (Art. 20), and objection to processing based on legitimate interest (Art. 21).
How to exercise the rights of access, portability and erasure — self-service, no need to contact us:
Other requests (access, rectification, restriction, portability, objection) can be sent to contact@bannerlorddb.com. We respond within one month of receiving the request.
Identity verification. Since we do not collect an e-mail address or other contact details, the only reliable way to verify identity is to log into the Account and use the buttons in the "Account" panel. E-mail requests concerning a specific Account can only be fulfilled to the extent we can reliably verify they come from the entitled person.
You have the right to lodge a complaint with the Polish Data Protection Authority (Prezes Urzędu Ochrony Danych Osobowych), ul. Stawki 2, 00-193 Warsaw, Poland (uodo.gov.pl), or with the supervisory authority of your own EU member state.
Providing a username and password is voluntary but necessary to create an Account. The Service can also be used without an Account, as a Guest — except for the chat, which requires logging in (Terms § 6).
We do not carry out profiling or automated decision-making that produces legal effects concerning you or similarly significantly affects you (Art. 22 GDPR).
The Service is not directed at persons under 16 years of age.
We reserve the right to amend this Privacy Policy. The current version is always available at this address, with the date of the last update. The Polish version (/prywatnosc) is the binding version. This English version (/privacy) is provided for information only.