learnjq
Imprint Privacy

Imprint

Legal notice pursuant to § 5 DDG (German Digital Services Act)

Service provider

Address
Michael Iden
c/o IP-Management #7090
Ludwig-Erhard-Straße 18
20459 Hamburg, Germany

Contact

Email: [email protected]

Liability for content

The content of this website has been created with care. However, I cannot guarantee the accuracy, completeness, or timeliness of the content. As a service provider, I am responsible for my own content on these pages under general law pursuant to § 7(1) DDG. Pursuant to §§ 8–10 DDG, I am not obligated to monitor transmitted or stored third-party information or to investigate circumstances indicating illegal activity.

Liability for links

This site contains links to external websites over which I have no control. I therefore cannot accept any liability for their content. The respective provider or operator is always responsible for the content of linked pages.

Copyright

The source code of learnjq is published under the MIT License. The lesson content, design, and branding are © 2026 Michael Iden.

Dispute resolution

The European Commission provides a platform for online dispute resolution (OS): ec.europa.eu/consumers/odr. I am not willing or obliged to participate in dispute resolution proceedings before a consumer arbitration board.


Privacy Policy

Last updated: February 2026 · Effective immediately

TL;DR

No tracking. No cookies. No analytics. No accounts. Your progress stays in your browser. The only data we process is what you type into the playground — and we don't store it.

1. Controller

The controller within the meaning of Art. 4(7) GDPR is:

Data Controller
Michael Iden
c/o IP-Management #7090
Ludwig-Erhard-Straße 18
20459 Hamburg, Germany
[email protected]

2. What we process

Data Purpose Storage Legal basis
IP address, timestamp, URL, user-agent Serve page, security, debugging 7 days (server logs) Art. 6(1)(f) GDPR
jq filter + JSON input Execute your query server-side Not stored (memory only) Art. 6(1)(b) GDPR
Lesson progress, theme preference Remember your place Your device (localStorage) Not applicable (client-only)

3. What we don't do

  • No cookies — not a single one
  • No analytics — no Google Analytics, no Plausible, no Matomo, nothing
  • No third-party resources — no external fonts, scripts, CDNs, or tracking pixels
  • No ads — and never will be
  • No user accounts — nothing to sign up for
  • No data sharing — your data never leaves our server

4. Hosting

learnjq.dev is hosted on dedicated infrastructure in Germany (Hetzner Online GmbH, Gunzenhausen). No data is transferred outside the EU/EEA. TLS encryption is enforced for all connections.

5. Local storage

Your browser's localStorage is used to save lesson progress and your theme preference. This data never leaves your device — it is not transmitted to our server. You can clear it anytime via your browser settings, DevTools, or the reset button on the site.

6. jq execution

When you run a filter in the playground or a lesson, the JSON input and jq expression you typed are sent to our server via HTTPS, executed in a sandboxed process, and the result is returned. The input data is held in memory only for the duration of execution and is not logged, stored, or analyzed.

7. Your rights (GDPR)

You have the right to:

  • Access (Art. 15) — request what data we have about you
  • Rectification (Art. 16) — correct inaccurate data
  • Erasure (Art. 17) — request deletion of your data
  • Restriction (Art. 18) — limit how we process your data
  • Portability (Art. 20) — receive your data in a portable format
  • Objection (Art. 21) — object to processing based on legitimate interest

Since we don't collect personal data beyond temporary server logs, there is typically nothing to request. You also have the right to lodge a complaint with a supervisory authority, in particular in your member state of residence. For Germany: BfDI or your state's data protection authority.

8. Changes to this policy

If this policy changes, we'll update the date above. Since we don't have your email (or any other contact details), we can't notify you directly — but we'll keep a changelog in our GitHub repository.

← Back to learnjq · GitHub · ☕ Support