Skip to content

Commit 3635467

Browse files
committed
Merge branch 'develop' into feature/migrate-hub-subscriptions-to-api
2 parents 366e96a + 5e8890a commit 3635467

24 files changed

Lines changed: 847 additions & 611 deletions

assets/js/hubpricing.js

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,23 +6,43 @@ class HubPricing {
66
this._data = data;
77
}
88

9-
loadPrice() {
9+
loadPrices() {
1010
$.ajax({
1111
url: PADDLE_PRICES_URL,
1212
dataType: 'jsonp',
1313
data: {
14-
product_ids: `${PADDLE_HUB_SELF_HOSTED_YEARLY_PLAN_ID},${PADDLE_HUB_MANAGED_YEARLY_PLAN_ID}`
14+
product_ids: `${PADDLE_HUB_SELF_HOSTED_YEARLY_PLAN_ID},${PADDLE_HUB_SELF_HOSTED_MONTHLY_PLAN_ID},${PADDLE_HUB_MANAGED_YEARLY_PLAN_ID},${PADDLE_HUB_MANAGED_MONTHLY_PLAN_ID}`
1515
},
1616
}).done(data => {
17-
this._data.selfHostedMonthlyPrice = {
18-
amount: data.response.products[0].subscription.price.net / 12,
19-
currency: data.response.products[0].currency
20-
};
21-
this._data.managedMonthlyPrice = {
22-
amount: data.response.products[1].subscription.price.net / 12,
23-
currency: data.response.products[1].currency
24-
};
17+
const priceMap = {};
18+
data.response.products.forEach(p => {
19+
priceMap[p.product_id] = {
20+
amount: p.subscription.price.net,
21+
currency: p.currency
22+
};
23+
});
24+
25+
this._assignPrice(priceMap, PADDLE_HUB_SELF_HOSTED_YEARLY_PLAN_ID, 'selfHostedYearlyPrice', 12);
26+
this._assignPrice(priceMap, PADDLE_HUB_SELF_HOSTED_MONTHLY_PLAN_ID, 'selfHostedMonthlyPrice', 1);
27+
this._assignPrice(priceMap, PADDLE_HUB_MANAGED_YEARLY_PLAN_ID, 'managedYearlyPrice', 12);
28+
this._assignPrice(priceMap, PADDLE_HUB_MANAGED_MONTHLY_PLAN_ID, 'managedMonthlyPrice', 1);
29+
30+
const mYearly = priceMap[PADDLE_HUB_MANAGED_YEARLY_PLAN_ID];
31+
const mMonthly = priceMap[PADDLE_HUB_MANAGED_MONTHLY_PLAN_ID];
32+
if (mYearly && mMonthly) {
33+
this._data.savingsPercent = Math.max(0, Math.round((1 - mYearly.amount / (mMonthly.amount * 12)) * 100));
34+
}
2535
});
2636
}
2737

38+
_assignPrice(priceMap, planId, dataKey, divisor) {
39+
const price = priceMap[planId];
40+
if (price) {
41+
this._data[dataKey] = {
42+
amount: price.amount / divisor,
43+
currency: price.currency
44+
};
45+
}
46+
}
47+
2848
}

assets/js/hubsetup.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -428,7 +428,7 @@ EOF`;
428428
'init-config': {condition: 'service_completed_successfully'},
429429
'postgres': {condition: 'service_healthy'}
430430
},
431-
image: 'ghcr.io/cryptomator/keycloak:26.5.2',
431+
image: 'ghcr.io/cryptomator/keycloak:26.5.4',
432432
command: startCmd,
433433
volumes: ['kc-config:/opt/keycloak/data/import'],
434434
deploy: {
@@ -799,7 +799,7 @@ class KubernetesConfigBuilder extends ConfigBuilder {
799799
}],
800800
containers: [{
801801
name: 'keycloak',
802-
image: 'ghcr.io/cryptomator/keycloak:26.5.2',
802+
image: 'ghcr.io/cryptomator/keycloak:26.5.4',
803803
command: startCmd,
804804
ports: [{containerPort: 8080}],
805805
resources: {

content/blog/2026-02-01-digital-independence-day-2026.de.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
title: "Digital Independence Day: Warum digitale Unabhängigkeit wichtig ist"
33
slug: digital-independence-day-2026
44
date: 2026-02-01
5-
notice:
65
tags: [cryptomator, did]
76

87
summary: "Der Digital Independence Day zeigt, warum digitale Selbstbestimmung wichtig ist und wie man mit kleinen, alltagstauglichen Schritten – etwa durch bewusste Tool-Wahl und Verschlüsselung – mehr Kontrolle über die eigenen Daten gewinnt."

content/blog/2026-02-01-digital-independence-day-2026.en.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
title: "Digital Independence Day: Why Digital Independence Is Important "
33
slug: digital-independence-day-2026
44
date: 2026-02-01
5-
notice:
65
tags: [cryptomator, did]
76

87
summary: "Digital Independence Day highlights why digital self-determination matters and how small, everyday actions — like choosing privacy-friendly tools and encrypting your data — can help you regain control over your digital life."
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
---
2+
title: "BitLocker, FBI und die Illusion von Kontrolle"
3+
slug: bitlocker-fbi-und-die-illusion-von-kontrolle
4+
date: 2026-02-15
5+
tags: [cryptomator, microsoft, bitlocker]
6+
7+
summary: "Microsoft half dem FBI, BitLocker-verschlüsselte Geräte zu entschlüsseln – nicht durch eine Hintertür, sondern über in der Cloud gesicherte Recovery Keys. Was das über Schlüsselkontrolle, Cloud-Vertrauen und echte Datensouveränität verrät."
8+
9+
ogimage:
10+
relsrc: /img/blog/microsoft-bitlocker.png
11+
width: 1200
12+
height: 675
13+
---
14+
15+
Als kürzlich bekannt wurde, dass **Microsoft dem FBI dabei geholfen hat, mit BitLocker verschlüsselte Datenträger zu entschlüsseln**, war die Empörung groß. Schnell war von „Hintertüren“ die Rede, von gebrochener Verschlüsselung und davon, dass man sich auf BitLocker offenbar nicht verlassen könne. Doch wie so oft liegt das **eigentliche Problem** weniger in der Technik selbst, sondern darin, **wer die Kontrolle über den Recovery-Key hat.**
16+
17+
Dieser Fall ist ein guter Anlass, genauer hinzusehen: Was ist wirklich passiert? Warum war der Zugriff möglich? Und was sagt das über **unser Verständnis von Verschlüsselung und Cloud-Diensten aus**?
18+
19+
<figure class="text-center">
20+
<img class="inline-block rounded-sm" src="/img/blog/microsoft-bitlocker.png" alt="BitLocker, FBI und die Illusion von Kontrolle" />
21+
</figure>
22+
23+
## Was ist passiert?
24+
25+
In dem bekannt gewordenen Fall ging es um einen **strafrechtlichen Ermittlungsfall**, bei dem das FBI mehrere Laptops sicherstellte. Diese Geräte waren mit **BitLocker** verschlüsselt – **der in Windows integrierten Festplattenverschlüsselung.**
26+
27+
Das FBI konnte die Daten dennoch entschlüsseln, **weil Microsoft die zugehörigen Recovery Keys bereitstellen konnte**. Diese Schlüssel waren im **Microsoft-Account der betroffenen Person gespeichert**. Mit richterlicher Anordnung war Microsoft rechtlich verpflichtet, diese Informationen herauszugeben.
28+
29+
Wichtig ist dabei eine klare Einordnung: **Microsoft hat BitLocker nicht „geknackt“**. Es gab keine Sicherheitslücke, keinen geheimen Generalschlüssel und keinen technischen Hintereingriff in die Verschlüsselung selbst. **Microsoft konnte helfen, weil sie im Besitz der Schlüssel waren.**
30+
31+
## BitLocker ist sicher – aber nicht automatisch privat
32+
33+
BitLocker gilt technisch als **solide Verschlüsselungslösung**. Die Daten auf einem Gerät sind ohne den passenden Schlüssel nicht lesbar. Das Problem entsteht nicht bei der Verschlüsselung, sondern beim **Schlüsselmanagement**.
34+
35+
Standardmäßig bietet Windows an, **den BitLocker-Recovery-Key im Microsoft-Konto zu sichern**. Das ist bequem, denn wenn man das Passwort vergisst oder die Hardware wechselt, kann man den Schlüssel einfach online abrufen.
36+
37+
**Diese Bequemlichkeit hat jedoch eine Konsequenz**: Liegt der Schlüssel bei Microsoft, hat Microsoft auch die Möglichkeit, ihn weiterzugeben – etwa an Strafverfolgungsbehörden mit entsprechendem Beschluss.
38+
39+
Verschlüsselung schützt Daten also nur dann vollständig vor Dritten, wenn der Schlüssel ausschließlich unter der Kontrolle der Nutzer:innen bleibt.
40+
41+
## Das eigentliche Missverständnis: Verschlüsselung ≠ Schlüsselkontrolle
42+
43+
Viele Nutzer:innen setzen Verschlüsselung mit vollständiger Kontrolle gleich. In der Praxis ist das jedoch oft nicht der Fall.
44+
45+
Man kann grob unterscheiden zwischen:
46+
47+
- **Client-seitiger Verschlüsselung mit externer Schlüsselverwaltung**. Das bedeutet, dass der Anbieter Zugriff auf den Schlüssel hat.
48+
- **Zero-Knowledge-Verschlüsselung**. Hier hat der Anbieter technisch keinen Zugang zum Schlüssel.
49+
50+
BitLocker mit Cloud-gesichertem Recovery-Key fällt klar in die erste Kategorie. **Die Daten sind verschlüsselt, aber nicht ausschließlich für den Eigentümer.**
51+
52+
**Der Microsoft-Fall zeigt damit kein Versagen von BitLocker**, sondern **ein strukturelles Problem moderner Cloud-Ökosysteme**. Komfortfunktionen untergraben oft unbemerkt die eigene Datensouveränität.
53+
54+
## Warum viele überrascht sind
55+
56+
Die starke Reaktion auf den Fall zeigt vor allem eines: **Viele Menschen wissen nicht, wo ihre Verschlüsselungsschlüssel gespeichert sind.**
57+
58+
Cloud-Backups, automatische Synchronisationen und voreingestellte Sicherheitsoptionen sind heute Standard. Sie senken die Einstiegshürde, erhöhen die Benutzerfreundlichkeit und verschieben Verantwortung stillschweigend vom Nutzer zum Anbieter.
59+
60+
Das führt zu einer **trügerischen Annahme**:
61+
62+
> *„Meine Daten sind verschlüsselt, also kann niemand darauf zugreifen.“*
63+
64+
Technisch korrekt wäre eher:
65+
66+
> *„Meine Daten sind verschlüsselt, aber jemand anderes verwahrt den Ersatzschlüssel.“*
67+
68+
## Behördenzugriff ist kein Sonderfall
69+
70+
Ein weiterer wichtiger Punkt: **Der Zugriff durch Behörden ist kein außergewöhnliches Szenario.**
71+
72+
Wenn Anbieter Zugriff auf Schlüssel oder unverschlüsselte Daten haben, sind sie in vielen Ländern **gesetzlich verpflichtet**, diese bei entsprechender Anordnung herauszugeben. **Das betrifft nicht nur Microsoft, sondern ebenso andere große Cloud-Anbieter.**
73+
74+
Die entscheidende Frage lautet daher nicht:
75+
76+
> *„Vertraue ich Microsoft?“*
77+
78+
Sondern:
79+
80+
> *„Will ich einem Anbieter technisch die Möglichkeit geben, meine Daten zu entschlüsseln?“*
81+
82+
## Was Nutzer:innen daraus lernen können
83+
84+
**Der Fall bietet eine wertvolle Lehre** – unabhängig vom konkreten Produkt:
85+
86+
- Verschlüsselung ist nur so stark wie das Key-Management
87+
- Cloud-Backups von Schlüsseln bedeuten immer einen Kontrollverlust
88+
- Sicherheit ist keine Standardeinstellung, sondern eine bewusste Entscheidung
89+
- Wer maximale Privatsphäre möchte, muss auch Verantwortung für Schlüssel übernehmen
90+
91+
**Das bedeutet nicht, dass Cloud-Dienste grundsätzlich unsicher sind**. Aber es bedeutet, dass man verstehen sollte, welches Sicherheitsmodell man nutzt und welche Kompromisse damit einhergehen.
92+
93+
## Wie Cryptomator in solchen Fällen hilft: Zero-Knowledge statt Schlüsselhinterlegung
94+
95+
Genau an diesem Punkt setzen Lösungen wie **Cryptomator und Cryptomator Hub** an. Im Gegensatz zu vielen integrierten Verschlüsselungsfunktionen verfolgt Cryptomator konsequent ein **Zero-Knowledge-Prinzip**.
96+
97+
Das bedeutet, dass die Daten **lokal auf dem Gerät verschlüsselt werden**, bevor sie überhaupt in eine Cloud hochgeladen werden können. Der entscheidende Unterschied liegt dabei im Schlüsselmanagement. **Cryptomator speichert nämlich keine Passwörter, keine Recovery-Keys und keine Master Keys.**
98+
99+
Weder Cloud-Anbieter noch Cryptomator selbst haben technisch Zugriff auf die verschlüsselten Inhalte oder die dafür notwendigen Schlüssel. Selbst wenn ein Cloud-Dienst – etwa Microsoft OneDrive, Google Drive oder Dropbox – zur Herausgabe von Daten verpflichtet wäre, lägen dort **ausschließlich unlesbare, verschlüsselte Dateien**.
100+
101+
Im Kontext des BitLocker-Falls wird **der Unterschied besonders deutlich**:
102+
103+
- Bei BitLocker mit Cloud-gesichertem Recovery-Key kann der Anbieter den Schlüssel herausgeben
104+
- Bei Cryptomator existiert dieser Schlüssel nur beim Nutzer selbst
105+
- Ein Zugriff durch Dritte ist technisch ausgeschlossen, nicht nur organisatorisch
106+
107+
Damit **verschiebt sich die Verantwortung bewusst zurück zu den Nutzer:innen**. Das erfordert etwas **mehr Eigenverantwortung** – etwa beim sicheren Umgang mit Passwörtern –, bietet aber im Gegenzug ein **deutlich höheres Maß an Kontrolle und Privatsphäre**.
108+
109+
Gerade für sensible Daten jeglicher Art ist dieses Modell entscheidend. Was man selbst nicht besitzt, kann man auch nicht weitergeben.
110+
111+
## Fazit: Verschlüsselung ist kein Feature, sondern Verantwortung
112+
113+
Der BitLocker-FBI-Fall zeigt **keine heimliche Hintertür und keinen Bruch moderner Kryptografie**. Er zeigt etwas viel Grundsätzlicheres: Wie leicht wir Kontrolle gegen Bequemlichkeit eintauschen – oft ohne es zu merken.
114+
115+
Echte Datensouveränität entsteht nicht allein durch Verschlüsselung, sondern durch exklusive Kontrolle über die Schlüssel. Wer diese Kontrolle abgibt, sollte sich zumindest bewusst sein, was das bedeutet.
116+
117+
Oder anders gefragt: **Weißt du, wer deinen Verschlüsselungsschlüssel besitzt?**
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
---
2+
title: "BitLocker, the FBI, and the Illusion of Control"
3+
slug: bitlocker-fbi-and-the-illusion-of-control
4+
date: 2026-02-15
5+
tags: [cryptomator, microsoft, bitlocker]
6+
7+
summary: "Microsoft helped the FBI decrypt BitLocker-encrypted devices – not through a backdoor, but via recovery keys stored in the cloud. What this reveals about key control, cloud trust, and true data sovereignty."
8+
9+
ogimage:
10+
relsrc: /img/blog/microsoft-bitlocker.png
11+
width: 1200
12+
height: 675
13+
---
14+
15+
When it recently became known that **Microsoft had helped the FBI decrypt BitLocker-encrypted data carriers**, there was widespread outrage. People were quick to talk about “backdoors,” broken encryption, and how BitLocker was clearly unreliable. But as is so often the case, the real problem lies less in the technology itself than in **who has control over the encryption key**.
16+
17+
This case is a good opportunity to take a closer look: What really happened? Why was access possible? And what does this say about **our understanding of encryption and cloud services**?
18+
19+
<figure class="text-center">
20+
<img class="inline-block rounded-sm" src="/img/blog/microsoft-bitlocker.png" alt="BitLocker, the FBI, and the Illusion of Control" />
21+
</figure>
22+
23+
## What Happened?
24+
25+
The case that came to light involved a **criminal investigation** in which the FBI seized several laptops. These devices were encrypted with **BitLocker**, the **hard disk encryption feature integrated into Windows**.
26+
27+
The FBI was still able to decrypt the data **because Microsoft was able to provide the corresponding recovery keys**. These keys were **stored in the Microsoft account of the person** concerned. Microsoft was legally obliged to disclose this information by court order.
28+
29+
It is important to clarify one thing: **Microsoft did not “crack” BitLocker**. There was no security breach, no secret master key, and no technical backdoor into the encryption itself. **Microsoft was able to help because they had the keys.**
30+
31+
## Bitlocker Is Secure—But Not Automatically Private
32+
33+
BitLocker is technically considered a **robust encryption solution**. The data on a device cannot be read without the appropriate key. The problem does not arise with encryption, but with **key management**.
34+
35+
By default, **Windows offers to save the BitLocker recovery key in your Microsoft account**. This is convenient because if you forget your password or change your hardware, you can simply retrieve the key online.
36+
37+
However, **this convenience has a consequence**: if Microsoft holds the key, Microsoft also has the ability to pass it on—for example, to law enforcement agencies with the appropriate warrant.
38+
39+
Encryption therefore only fully protects data from third parties if the key remains exclusively under the control of the user.
40+
41+
## The Real Misunderstanding: Encryption ≠ Key Control
42+
43+
Many users equate encryption with complete control. In practice, however, this is often not the case.
44+
45+
A rough distinction can be made between:
46+
47+
- **Client-side encryption with external key management**. This means that the provider has access to the key.
48+
- **Zero-knowledge encryption**. Here, the provider has no technical access to the key.
49+
50+
BitLocker with a cloud-backed recovery key clearly falls into the first category. The **data is encrypted, but not exclusively for the owner.**
51+
52+
**The Microsoft case therefore does not demonstrate a failure of BitLocker**, but rather a **structural problem with modern cloud ecosystems**. Convenience features often undermine data sovereignty without anyone noticing.
53+
54+
## Why Many Are Surprised
55+
56+
The strong reaction to this case shows one thing above all else: **many people do not know where their encryption keys are stored.**
57+
58+
Cloud backups, automatic synchronization, and preset security options are standard today. They lower the barrier to entry, increase user-friendliness, and quietly shift responsibility from the user to the provider.
59+
60+
This leads to a misleading assumption:
61+
62+
> *“My data is encrypted, so no one can access it.”*
63+
64+
Technically correct would be:
65+
66+
> *“My data is encrypted, but someone else has the spare key.”*
67+
68+
## Access by Authorities Is Not a Special Case
69+
70+
Another important point: **Access by authorities is not an unusual scenario.**
71+
72+
If providers have access to keys or unencrypted data, they are **legally obliged** in many countries to hand them over if ordered to do so. **This applies not only to Microsoft, but also to other major cloud providers.**
73+
74+
The crucial question is therefore not:
75+
76+
> *“Do I trust Microsoft?”*
77+
78+
But rather:
79+
80+
> *“Do I want to give a provider the technical ability to decrypt my data?”*
81+
82+
## What Users Can Learn From This
83+
84+
**The case offers a valuable lesson** – regardless of the specific product:
85+
86+
- Encryption is only as strong as key management
87+
- Cloud backups of keys always mean a loss of control
88+
- Security is not a default setting, but a conscious decision
89+
- If you want maximum privacy, you also have to take responsibility for keys
90+
91+
**This does not mean that cloud services are fundamentally insecure**. But it does mean that you should understand which security model you are using and what compromises it entails.
92+
93+
## How Cryptomator Helps in Such Cases: Zero Knowledge Instead of Key Storage
94+
95+
This is precisely where solutions such as **Cryptomator and Cryptomator Hub** come in. Unlike many integrated encryption functions, Cryptomator consistently follows a **zero-knowledge principle**.
96+
97+
This means that **data is encrypted locally on the device** before it can even be uploaded to the cloud. The key difference lies in key management. **Cryptomator does not store passwords, recovery keys, or master keys.**
98+
99+
Neither cloud providers nor Cryptomator itself have technical access to the encrypted content or the keys required to decrypt it. Even if a cloud service—such as Microsoft OneDrive, Google Drive, or Dropbox—were required to disclose data, **it would only contain unreadable, encrypted files**.
100+
101+
The **difference is particularly clear** in the context of the BitLocker case:
102+
103+
- With BitLocker and a cloud-backed recovery key, the provider can issue the key
104+
- With Cryptomator, this key only exists with the user themselves
105+
- Access by third parties is technically impossible, not just organizationally
106+
107+
This **deliberately shifts responsibility back to the users**. It requires a little **more personal responsibility**—for example, when it comes to handling passwords securely—but in return **offers a significantly higher degree of control and privacy.**
108+
109+
This model is particularly important for sensitive data of any kind. You can't pass on something you don't own yourself.
110+
111+
## Conclusion: Encryption Is Not a Feature, but a Responsibility
112+
113+
The BitLocker-FBI case **does not reveal a secret backdoor or a breach of modern cryptography**. It reveals something much more fundamental: how easily we trade control for convenience – often without even realizing it.
114+
115+
True data sovereignty does not come from encryption alone, but from exclusive control over the keys. Anyone who relinquishes this control should at least be aware of what that means.
116+
117+
Or to put it another way: **Do you know who has your encryption key?**

0 commit comments

Comments
 (0)