Terms
House rules for reading, signal drops, and agent access.
What this site is
baki.io is a personal site - projects, experiments, essays, and machine-room documentation authored by Baki. Content is offered under terms that respect both author and reader.
Jurisdiction
baki.io is operated from Berlin, Germany. German law applies to these terms and to any use of this site, excluding its conflict-of-laws rules and excluding the UN Convention on Contracts for the International Sale of Goods (CISG).
Place of jurisdiction: Berlin, Germany. Where the visitor is a merchant (Kaufmann), a legal person under public law, or a special fund under public law within the meaning of §38 ZPO (Zivilprozessordnung), Berlin is the exclusive court of jurisdiction for all disputes arising out of or in connection with this site. Mandatory consumer-protection venues under EU Regulation 1215/2012 (Brussels I bis) are unaffected.
Copyright issues are governed by the German Urheberrechtsgesetz (UrhG). The DMCA (US-only) does not apply; the notice-and-takedown procedure below is the German-law equivalent.
Reading
Read freely. No account needed. No paywall. No tracking.
Content licensing
Unless otherwise noted on a specific page, original writing and imagery on this site is copyright Baki and licensed under Creative Commons BY-NC-SA 4.0. Code samples are MIT-licensed.
Notice-and-takedown
If you believe content on baki.io infringes your copyright under the Urheberrechtsgesetz (UrhG) — or any equivalent foreign right — you may submit a takedown notice. This is the German-law equivalent of the US DMCA process; the standard for a valid pre-litigation warning is §97a UrhG (Abmahnung).
How to file a notice. Send an email to design@baki.io with the subject line Takedown notice — baki.io. To be actionable under §97a UrhG, the notice must contain:
- Identification of the protected work — title, URL of the original, and a description of the work allegedly infringed.
- Location of the alleged infringement on this site — the exact URL(s) on
baki.iowhere the material appears, with anchor or screenshot if helpful. - Statement of authorization — confirmation that you are the rightsholder, an authorized agent, or hold an exclusive licence sufficient to assert the claim.
- Good-faith statement — that the use is, to the best of your knowledge, not authorized by the rightsholder, an agent, or the law (including §51 UrhG quotation right and §44a–63a UrhG exceptions).
- Contact details — full legal name, postal address (or that of your representative), and a return email address.
- Signature — a typed name in the email body is treated as a qualifying signature for the purpose of initiating review.
What happens next. Notices are reviewed within a reasonable period (target: 7 calendar days). If the claim is facially valid, the disputed content is taken offline pending resolution and the uploader (where applicable) is notified. Frivolous or abusive notices may be rejected; bad-faith notices may themselves trigger liability under §97a(4) UrhG.
Counter-notice. If you posted content that was taken down and you believe the takedown was issued in error or covers material protected by an exception (quotation, parody, news reporting, scientific use), you may submit a counter-notice to the same email with the subject Counter-notice — baki.io. The counter-notice should mirror the structure above and add (a) identification of the removed material, (b) a statement under penalty of perjury (or its German-law equivalent: a declaration “an Eides statt”) that the takedown was a mistake or misidentification, and (c) consent to the venue specified in the Jurisdiction section. Restoration follows after a 10-business-day window during which the original claimant may seek interim relief.
Limit of role. baki.io is a single-author site, not a hosting provider in the sense of §10 TMG. The notice-and-takedown surface is offered as a courtesy; nothing here constitutes admission of host-provider status or expansion of statutory liability.
Report visitor content (DSA Art. 16)
Visitor-submitted content (signal drops, comments, any other user-generated text or media) is subject to a separate notice-and-action procedure aligned with Article 16 of Regulation (EU) 2022/2065 (Digital Services Act). This is distinct from the copyright takedown procedure above; use this beat for illegal or terms-violating visitor content (harassment, defamation, NS-symbolism, threats, content that violates §86 / §130 StGB, content that infringes a third-party right other than your own copyright, and so on).
How to file a report. Send an email to design@baki.io with the subject line Content report, baki.io [drop id]. To be actionable under Art. 16 DSA, the notice must contain:
- Sufficiently substantiated explanation of why you consider the content illegal or in violation of these terms, including the specific legal ground (statute, paragraph) or terms clause invoked.
- Clear indication of the exact electronic location: the URL on
baki.ioand, where available, the drop id surfaced beneath the visitor content. - Reporter identity: full name and a working return email address. Anonymous reports may be processed at discretion but cannot trigger the Art. 17 statement of reasons back to the reporter.
- Good-faith statement that the information and allegations contained in the notice are accurate and complete.
What happens next. Acknowledgement of receipt is sent within 48 hours. A reasoned decision is issued within 7 calendar days as a statement of reasons compliant with Art. 17 DSA, covering: the action taken (removal, restriction, no action), the legal or contractual ground relied on, the facts and circumstances considered, whether automated means were used, and the redress paths available.
Removal mechanism. Where removal is ordered, the visitor content body is replaced with a removal notice in place; the original commit remains in git history for audit purposes but is no longer rendered or addressable through the site surface. Personal data attached to the original submission is handled under the right-to-erasure flow in Signal drops below.
Bad-faith reports. Reports submitted in bad faith (knowingly false allegations, abuse of the procedure to suppress lawful expression, or repeated misuse) may themselves give rise to civil and criminal liability for the reporter (including under §§ 145d, 164, 187 StGB and §823 BGB) and will be deprioritised under Art. 23 DSA.
Counter-notice. The visitor whose content was actioned receives the statement of reasons by the same channel used to submit the drop (where contact data was provided) and may submit a counter-notice within 7 calendar days by replying to that statement. Counter-notices are reviewed within the same SLA as the initial report.
Escalation. Where you disagree with a decision, redress paths include:
- Out-of-court dispute settlement before a certified body under Art. 21 DSA.
- Complaint to the Digital Services Coordinator for Germany (the Bundesnetzagentur), via bundesnetzagentur.de/dsa.
- Judicial review before the competent court at the venue specified in Jurisdiction.
baki.io is a micro platform under DSA terminology. Obligations specific to very-large online platforms (Art. 33 ff.) do not apply; the procedure above implements the baseline notice-and-action duty owed by any hosting service that exposes user-generated surfaces.
Signal drops (visitor comments)
When the signal-drop module is live, visitors may leave short contextual notes on content pages. Each drop passes the moderation gate described in /system/privacy before publication; nothing visitor-submitted is rendered until it has cleared that gate.
Content rules. By submitting a signal drop you warrant that:
- You own the submitted content or hold sufficient rights to license it under the terms below.
- The drop is free of harassment, personal attacks, threats, illegal content (including but not limited to violations of §§ 86, 86a, 130, 184b StGB), and content that infringes any third-party copyright, trademark, personality right, or trade secret.
- The drop does not contain personal data of third parties submitted without their consent.
License grant. By submitting a signal drop you grant Baki, the operator of baki.io, a perpetual, irrevocable, royalty-free, worldwide, non-exclusive, sublicensable and transferable license to use, reproduce, store, host, cache, modify (for technical adaptation, anonymisation, or aggregation), publicly display, publicly perform, distribute, and otherwise exploit the submitted content, in whole or in part, in any media now known or later developed, including without limitation:
- Publication on
baki.ioand any successor surface. - Storage in the public GitHub repository github.com/Threchette/baki_io as part of the site source, including its full revision history.
- Distribution through the Cloudflare CDN and any other content-delivery infrastructure used to serve the site.
- Inclusion in machine-readable site exports (
/llms.txt,/llms-full.txt,/rss.xml, sitemap, structured-data feeds). - Use in archival snapshots and in research, training, and statistical aggregation derived from site content.
This grant is explicit and intended to satisfy the specificity requirement of §31 UrhG and the Zweckübertragungslehre (purpose-transfer doctrine): each enumerated use type is named so that the scope of transferred Nutzungsrechte covers the full GitHub-commit and CDN-distribution path the site relies on, and is not narrowed by reference to undisclosed purposes.
What you retain. You retain the underlying copyright (Urheberrecht) in the submitted content. Your moral rights (Urheberpersönlichkeitsrecht) under §§ 13, 14, 15 UrhG, including the right of attribution and the right to object to distortion, are not limited or waived by this grant. Where the drop includes a name field, that name is displayed alongside the content as attribution.
Right to erasure. You may request erasure of a drop at any time by emailing design@baki.io with the subject line Erasure request, baki.io [drop id]. Requests are honored within 30 calendar days.
Erasure of personal data associated with the drop (your email address, IP-derived data, any name field you supplied) is honored in full under Art. 17 GDPR; that data is purged from active systems and from new build outputs, with the standard carve-outs for legal-claims defense and freedom-of-expression balancing (Art. 17(3) GDPR).
The license to display the underlying content of the drop survives the erasure of your personal data in anonymised or aggregated form only; the rendered drop is removed from the site surface, but the operator retains the right to keep an anonymised copy in research-set or aggregate-statistics form. Where erasure is requested before publication or before the moderation gate clears, no copy is retained.
Moderation. All drops pass the content safety pipeline before they are rendered. The pipeline may hide, redact, or refuse to publish any drop that violates the content rules above or that triggers DSA Art. 16 grounds raised through Report visitor content. Editorial discretion is exercised in good faith; rejection does not require statement of reasons unless the drop had been published and is being removed under the Art. 17 DSA procedure.
Processing of any data submitted with a signal drop (including draft state held in your browser) is described in /system/privacy.
Agent / scraper access
AI agents are welcome to read this site. The machine-readable metadata (RSS, structured data, the system collection, plus llms.txt and llms-full.txt) exists partly for you. When accessing the site, follow this policy:
Indexing crawlers (Google, Bing, DuckDuckGo, Brave Search, Kagi, and similar general-purpose search engines) — permitted. The full sitemap is exposed at /sitemap-index.xml.
LLM training and answer-engine crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, Anthropic-ai, Applebot-Extended, and similar) — permitted, subject to the granular allowlist published in /llms.txt (the llmstxt.org convention). Surfaces marked private (such as /preferences and any /api/* endpoints) are off-limits even when not separately listed in robots.txt.
Misbehaving or undeclared crawlers — disallowed. Specific names are pinned in /robots.txt; the file is the authoritative machine-readable record.
When crawling:
- Respect
robots.txtand anyCrawl-Delaydirective declared there. Where noCrawl-Delayis set, treat one request per second as the courtesy ceiling per origin. - Identify yourself honestly in the User-Agent string. Disguised crawlers, residential-proxy reuse, or rotation through stealth IP pools to evade rate limits will be treated as undeclared and blocked.
- Do not attempt to submit signal drops, write to admin endpoints, or interact with state-bearing UI (preferences, drop drafts, debate vertices, edit-mode controls).
- Cite back when quoting. Attribution helps readers find the canonical source and keeps the licence terms in
Content licensinglegible.
Agents detected by behavioral signature are pinned to a deterministic output register (no ambient motion) to keep crawled content stable.
No warranty
This site is offered “as-is” (ohne jede Gewähr). Code shown here is illustrative, not production-hardened. Editorial content reflects opinion and personal experience, not professional advice.
To the extent permitted by German law, no warranty (Gewährleistung) is given as to fitness for any particular purpose, accuracy, completeness, or uninterrupted availability. The following carveouts apply and cannot be excluded under German consumer-protection and tort law:
- Liability for intent (Vorsatz) and gross negligence (grobe Fahrlässigkeit) — not excluded.
- Liability for injury to life, body, or health — not excluded (§309 No. 7(a) BGB).
- Liability under the Produkthaftungsgesetz (ProdHaftG) where applicable — not excluded.
- Liability for breach of material contractual obligations (Kardinalpflichten) — limited to typical foreseeable damage but not excluded.
Anything beyond those carveouts — incidental, consequential, or speculative loss arising from reading the site, copying code, or relying on essays — is at the reader’s own risk.
Changes
Version number and update date at the top of this page track revisions. Material changes will be called out in the changelog. Every commit-level snapshot is auto-archived to docs/legal/terms/ — see the revision index for the full chronology.