Code Bel Kalam
Menu

Privacy

What this site collects, what it deliberately does not, and who else ever sees it.

Updated

This page says exactly what the site collects and what leaves it. It is written from what the code actually does, not copied from a template.

Who is responsible

This site is run by Basem Hamed, personally. For any question about your data, or to have it deleted, write to hello@codebelkalam.com.

The newsletter

When you subscribe, the site collects your email address and the language you subscribed in. Nothing else.

  • Why: to send you the newsletter.
  • Legal basis: your consent. To be sure the consent is actually yours, a confirmation email is sent first, and you are not added to the list until you click the link inside it. That link expires after 48 hours.
  • Where it is stored: with Resend, the service that delivers the email and holds the subscriber list.
  • For how long: until you unsubscribe. Then it is removed.
  • How to unsubscribe: every email carries a one-click unsubscribe link. No login, no reply, no waiting for approval.

The subscribe form also submits two hidden fields: one that should stay empty, and one recording when the page was opened. Their only purpose is telling a person apart from a bot, and neither is stored anywhere.

Your IP address

So that nobody can flood the subscribe form, the site counts how many requests came from the same place on the internet within an hour.

Your IP address is not stored. It is turned into a keyed hash (HMAC-SHA256) before it reaches anywhere, and that hash deletes itself within the hour. The original address cannot be recovered from it, and it is never used to work out who you are.

Visit statistics

The site uses Vercel Web Analytics and Speed Insights to see which pages get read, and how fast the site actually is on a real network rather than on a developer's machine.

Neither sets a cookie, neither builds a profile of you, and neither follows you once you leave. The numbers arrive aggregated: "this page was opened this many times", not "this person opened this page".

Error reports

If something breaks in your browser while you are using the site, an error report is sent to Sentry so it can be fixed.

The library itself is not loaded until something has already gone wrong — on an ordinary visit, none of it runs at all. Its settings are fully closed down: no recording of your screen, no performance tracing, and no personal data attached to the report.

Advertising

The site is registered with Google AdSense, so that ads can be shown here in the future. Today no ad code runs: the only traces of it are a google-adsense-account tag in each page's header and the public /ads.txt file, which names the one account allowed to sell ad space here. Neither sets a cookie or contacts Google from your browser.

If ads are switched on, this page will be updated before they appear, and the following will apply:

  • Google, as a third-party vendor, will use cookies to serve ads on this site.
  • Google's advertising cookies let it and its partners serve ads based on your visits to this site and to other sites on the internet.
  • You can opt out of personalised advertising in Google's My Ad Center, and read how Google uses data from sites that show its ads at policies.google.com/technologies/partner-sites.
  • Visitors from the European Economic Area, the United Kingdom and Switzerland will be asked for consent first, through a consent banner certified by Google. Without that consent, no personalised ad will be shown.

Who else sees anything

ServiceWhat it does
VercelHosting and visit statistics
ResendEmail delivery and the subscriber list
UpstashRate-limit counters — the keyed hashes described above
SentryError reports
GoogleNot yet: AdSense is registered, but no ads run

That is the complete list. Nothing is sold, and nothing is shared with anyone else for any other purpose.

What is stored on your device

  • Your light or dark mode preference, in localStorage under the name cbk-theme. Its value is either light or dark, and nothing else.
  • Copies of pages you have opened, in the browser cache, so you can read them without a connection.

Both live on your device. Neither reaches us, and nobody else can read them. Clearing the site's data in your browser removes both.

YouTube videos

Videos in the lessons do not load until you click them. Before that click there is no contact with any Google server at all — not even to fetch the video's thumbnail.

Once you click, the player loads from youtube-nocookie.com, and from that point Google's own policy governs the video itself.

Your rights

At any time you can ask to:

  • see what is held about you,
  • correct anything wrong,
  • have your data deleted entirely,
  • withdraw your consent to the newsletter,
  • object to a particular use of your data.

Write to hello@codebelkalam.com and you will get a reply. If it is only about the newsletter, the unsubscribe link in any email is faster.

If this page changes

The last-updated date is shown at the top. A substantial change — for instance, starting to collect something new — will also be announced in the newsletter, not only here.