Privacy Policy
How we process and protect your personal data.
Last updated: 21 July 2026
1. Who We Are
This website is operated by POLPROG (Damian Skrzyński), based in Poland. For any privacy-related questions, contact us at [email protected].
2. What Data We Collect
We collect only the minimum data necessary to operate and improve this website:
- Contact form submissions: your name, email address and message, plus the phone number and subject if you fill those in. We also store the form language, your IP address, the page you wrote from, the referring page and any campaign (utm) parameters in the link you arrived through.
- Analytics data (with consent): anonymized usage data such as pages visited, approximate location (country/city level), device type, browser type, and session duration.
- Cookies and local storage: small data files used for essential site functionality (e.g., language preference, dark mode setting) and, with your consent, for analytics purposes.
- Account data (only if you create an account): your name, email address, sign-in details and preferences. Section 3 lists exactly what is stored.
- Newsletter sign-ups: your email address and the IP address the sign-up came from, kept as the record of your consent, plus the page, referring page, campaign parameters, language and browser identification string. See section 6.
- Article feedback: your up or down vote, an optional comment, the article and language, and a one-way hash of your IP address used only to stop repeat voting. See section 6.
- Technical logs: when a script fails, and when you have accepted analytics cookies and a page speed measurement is sent, we record the error or measurement, the page address, a coarse browser and system label, and a shortened, daily-rotating one-way hash of your IP address. The full IP address and the full browser identification string are not stored.
3. Your Account (Optional)
You can use the whole website without an account. If you choose to register, we store the following in our own database:
- Who you are: first name, last name, email address and, for staff accounts, a username.
- Your password: stored only as a one-way hash. We never store your actual password and cannot read it.
- Account state: your role (regular user or staff), the account status, and whether and when your email address was confirmed.
- Your preferences: the theme you picked (light, dark or system) and your language.
- Timestamps: when the account was created, when it was last changed and when you last logged in.
- "Remember me" tokens: if you ask to stay signed in, we store a hashed token. The value in your cookie is never stored as it is, it is replaced every time it is used, and all tokens are removed when you log out or delete the account.
- Password reset tokens: if you request a password reset, we store a hashed token that works once and expires after one hour.
- Google sign-in (currently switched off): the site can support signing in with Google, but the feature stays disabled unless Google credentials are configured, and they are not. Nothing is sent to Google while it is off. If it is ever switched on, signing in that way would give us your Google account's permanent identifier, email address and name from Google, and we would store the identifier so that Google account can be matched to your POLPROG account.
Account data stays in our own database. You can see it, correct it, export it or delete it yourself, see section 9.
4. Essential Technologies (Always Active)
- Language preference cookie - remembers your selected language.
- Dark mode preference - remembers your theme choice.
- Cookie consent status - remembers whether you accepted or declined optional cookies.
- Service Worker - enables offline access and faster page loads for returning visitors.
- Session cookie (POLPROG_ADMIN) - set by our server on your very first page view, before you log in and whether or not you ever do, because the security token that protects the contact and newsletter forms is kept in the session. It holds only a random session identifier, it expires when you close the browser, and once you log in the same cookie is what keeps you signed in as you move between pages.
- "Remember me" cookie - set only if you ask for it at login, so you stay signed in on that browser. Logging out removes it.
5. Optional Analytics & Tracking (Consent Required)
The tools below only collect, store or send anything about you if you give explicit consent via the cookie banner. One thing does happen before you choose: the Google Tag Manager container script is downloaded from Google on every page view, so Google receives your IP address and browser identification string even if you then decline. Until you consent, Google Consent Mode keeps analytics and advertising storage set to "denied", so no analytics cookies are written and no measurement is sent.
- Google Analytics (via Google Tag Manager) - collects anonymized website usage data to help us understand how visitors interact with our site. Data is processed by Google LLC. IP addresses are anonymized. You can learn more at Google's Privacy Policy.
- Page speed measurement - with consent, your browser downloads a small measurement script from the unpkg.com CDN and sends anonymous page speed figures back to us. That download discloses your IP address and browser to unpkg.com. Without consent the script is never requested and no figures are sent.
We do not use Facebook Pixel or any other advertising or ad-targeting pixel. The tools listed above are the only analytics we run.
6. Newsletter and Article Feedback
These features are optional and only start when you ask for them:
- Newsletter: we store your email address and the IP address of the sign-up as the record of your consent, together with the page you signed up from, the referring page, campaign parameters, language and browser identification string. The sign-up is confirmed by email (double opt-in) and every message carries an unsubscribe link, so you can leave at any time.
- Article feedback: the "was this helpful?" buttons under a learning article store your vote, your optional comment, the article, the language and a one-way hash of your IP address that is used only to stop repeat voting. The vote is not linked to your account.
7. How We Use Your Data, and Why
- To respond to your inquiries submitted through the contact form.
- To understand general website usage patterns and improve our content (analytics, with consent only).
- To ensure the website functions correctly (essential cookies).
- To run the account you asked for: to log you in, keep you logged in, let you reset your password and apply your theme and language.
- To send the newsletter you subscribed to, and to keep the record showing that you subscribed.
- To improve our articles using the feedback you send, and to keep the site working and secure (for example rate limiting and error logs).
In plain terms: contact form messages and account data are handled because you asked us to answer you or to run your account; newsletter, analytics and page speed measurement happen only because you gave consent and only until you withdraw it; a small amount of technical data is handled because the site cannot stay available and secure without it. If you need the formal legal basis for a specific case, ask us at [email protected].
8. Data Sharing
We do not sell, rent or trade your personal data. The website and its database run on our hosting provider's servers, and that is where the data is stored. Beyond that, data reaches other companies only in these cases:
- Google LLC - only if you accept analytics cookies, under their own data processing terms.
- unpkg.com - only if you accept analytics cookies: the page speed measurement script is downloaded from there, which discloses your IP address and browser to that CDN.
- GitHub (api.github.com) - the header has a GitHub activity panel. Your browser calls GitHub's public API directly when you open that panel, or when it checks for new activity after you have interacted with the page, so GitHub sees your IP address and browser. Nothing is sent to GitHub while a page is simply loading, and we send nothing about you.
- Shields.io (img.shields.io) - the page of an open source application shows live GitHub badges (stars, last commit, open issues, licence). Your browser loads them as images from that service, which discloses your IP address and browser to it.
- Email delivery - confirmation, newsletter and account emails leave through our mail server.
9. Your Rights, and How to Use Them
Under the GDPR and applicable data protection laws, you have the right to:
- Access, correct, or delete your personal data.
- Withdraw consent at any time - use the "Cookie Settings" link in the footer to change your preferences.
- Object to data processing or request data portability.
- Lodge a complaint with a supervisory authority (in Poland: UODO - uodo.gov.pl).
- Ask us to restrict processing of your data, or to stop optional processing altogether.
If you have an account, most of this is self-service: use Your data in your account to see and export the data we can link to your account, Settings to correct your details or turn optional processing off, and Delete account to erase it. The export covers your account details, the dates of your "remember me" tokens, and the contact form messages and newsletter record that match your confirmed email address. It does not yet include the IP address, referring page and campaign parameters stored with a contact message or a newsletter sign-up, so ask us at [email protected] if you want those fields as well. Without an account, write to the same address and we will handle the request. Cookie choices are changed with the "Cookie Settings" link in the footer.
10. Data Retention
We remove data we no longer need, on a schedule that runs automatically. Contact form messages are deleted about 12 months after they arrive, email addresses of people who unsubscribed from the newsletter about 30 days after they unsubscribe, and article feedback about 12 months after it was sent. Analytics data is retained for up to 14 months (as configured in Google Analytics). Account data is kept while the account exists and goes when you delete it, while login and password reset tokens expire far sooner. These periods are being reviewed and may be adjusted, so ask us at [email protected] if you need the figure that applies to you.
11. Changes to This Policy
We may update this Privacy Policy from time to time. Any changes will be reflected on this page with an updated "Last updated" date.

