Privacy Policy
What this site collects, why, and what you can do about it.
last updated
who runs this site
ncctcr is the personal site of Mykola Nesterchuk, based in Plovdiv, Bulgaria. I am the data controller under the GDPR. For anything in this policy, write to n.ncctcr@gmail.com.
in short
- There are no accounts, no sign-up forms and no ads, and I don't sell data.
- Analytics runs only if you accept it, and you can change your mind at any time.
- Hosting, and CodeSandbox on pages with code playgrounds, work without that choice. Details are below.
analytics (your choice)
The legal basis for all analytics is your consent (GDPR Art. 6(1)(a)). If you decline or don't answer, none of these scripts are loaded. If you accept and later decline, the page reloads without them.
Google Analytics 4 is provided in the EEA by Google Ireland Limited. It records the pages you view, where you came from, your browser, device and approximate location, and actions on the site: copying code, using a tool preset, marking an interview question or flashcard, picking a search result, switching the theme, and clicking share, contact or outbound links.
Google states that it does not log or store IP addresses of users in the EU, Switzerland or the UK. Event data is kept for at most 14 months. Google may process data in the US, where it relies on the EU–US Data Privacy Framework. See Google's privacy policy.
Vercel Web Analytics and Speed Insights give me page counts and loading performance. They set no cookies. They record the URL, referrer, country or approximate location, browser, operating system, device type and performance metrics. Web Analytics groups a visit with a hash of the request that is discarded after 24 hours. See Web Analytics and Speed Insights privacy notes.
hosting
The site is hosted by Vercel Inc., whose servers process your IP address, the requested URL and your browser details to deliver pages and protect the service. Some of this may be processed in the US. The legal basis is my legitimate interest in running a working, secure site (GDPR Art. 6(1)(f)).
code playgrounds
Many blog posts include live code playgrounds. As you reach one on the page, it loads in a frame served by CodeSandbox. Your browser connects to CodeSandbox and to public package CDNs, which receive your IP address and browser details. The playground also sends CodeSandbox technical statistics about load times and your browser type, and it can store the items listed below. The legal basis is my legitimate interest in showing working examples (GDPR Art. 6(1)(f)). See CodeSandbox's privacy policy.
stored in your browser
| Name | Purpose | Lifetime |
|---|---|---|
| _ga, _ga_* | Google Analytics cookies that tell visits and visitors apart. Set only after you accept. | up to 2 years, or until you decline |
| __cf_bm | Cloudflare bot-protection cookie on codesandbox.io. Can appear only on pages with a code playground. | about 30 minutes |
| CodeSandbox storage | localStorage and IndexedDB on the playground’s codesandbox.io address, used for the playground’s own state and cached code. Only on pages with a code playground. | controlled by CodeSandbox, until you clear site data |
| cookie-consent-v2 | localStorage: your answer to the cookie question, so you are not asked on every page. | until you clear site data |
| theme | localStorage: light or dark theme, if you switched it. | until you clear site data |
| interview-progress | localStorage: which interview questions you marked. The list stays in your browser. If you accepted analytics, each mark is also sent to Google Analytics as an event. | until you clear it or the site data |
if you email me
I use your address and message to reply, and keep them only as long as the conversation needs. Mail is handled by Google (Gmail). The legal basis is my legitimate interest in answering you (GDPR Art. 6(1)(f)).
your rights
Under the GDPR you can ask for access to your data, correction, deletion, restriction or portability, object to processing based on legitimate interest, and withdraw consent at any time. Withdrawing doesn't affect earlier processing. Email me to use these rights. Analytics data is pseudonymous, so I may be unable to match it to you.
You can also complain to your local data protection authority. In Bulgaria that is the Commission for Personal Data Protection.
changes
If what the site collects changes, I'll update this page and the date at the top.