Paperless-ngx · auf Abruf · vertraulich

Deine Dokumente. Nur wach, wenn du sie brauchst.

Paperless-ngx startet auf Knopfdruck in einer vertraulichen VM (AMD SEV-SNP). Es kostet nur, solange es läuft. Danach wird verschlüsselt gesichert und die VM gestoppt; beim nächsten Start kommt alles aus dem Backup zurück.

Paperless anywhere starten →Mit Passkey, ohne Konto.

Paperless-ngx ist ein unabhängiges Open-Source-Projekt (GPL-3.0). Paperless anywhere ist ein Angebot von Le Space, nicht mit dem Projekt verbunden und wird von ihm weder unterstützt noch gesponsert.

  • Auf Abruf

    Starten, arbeiten, stoppen. Keine Maschine, die rund um die Uhr läuft und bezahlt werden will.

  • Vertraulich

    Speicher und Platte der VM sind verschlüsselt. Der Betreiber des Knotens kann sie nicht lesen.

  • Dezentral gesichert

    Backups werden in der VM verschlüsselt und an mehreren Orten abgelegt, die du wählst.

So geht’s

  1. 01

    Tresor anlegen

    Ein Passkey auf deinem Gerät öffnet deinen Tresor. Dazu bekommst du 24 Wörter zum Aufschreiben: damit kommst du auch ohne das Gerät wieder hinein. Kein Konto, keine E-Mail.

  2. 02

    Starten

    Die App sucht einen freien TEE-Knoten, prüft dessen Hardware-Nachweis und gibt erst dann den Schlüssel für die Platte heraus. Das Backup wird eingespielt.

  3. 03

    Arbeiten

    Paperless-ngx wie gewohnt im Browser: hochladen, verschlagworten, suchen.

  4. 04

    Sichern und beenden

    Ein Klick: Die VM verschlüsselt ein Backup, legt es dezentral ab und fährt herunter. Ab dann läuft keine Rechenzeit mehr.

Was ist ein TEE?

TEE heißt Trusted Execution Environment: ein abgeschirmter Bereich, den der Prozessor selbst schützt.

  • Vom Prozessor verschlüsselt

    Mit AMD SEV-SNP verschlüsselt die CPU den Arbeitsspeicher der VM mit einem Schlüssel, den nur sie kennt. Der Rechner, auf dem die VM läuft, sieht nur verschlüsselte Daten.

  • Der Betreiber liest nicht mit

    Wer den Knoten betreibt, kann den Speicher und die Platte der VM nicht lesen. Was deine VM schreibt, liegt zusätzlich in einem Bereich, den sie bei jedem Start mit einem eigenen Schlüssel versiegelt. Diesen Schlüssel gibt es nur im Speicher der VM.

  • Erst prüfen, dann entsperren

    Bevor die App einen Schlüssel herausgibt, lässt sie sich von der Hardware bestätigen, was gestartet wurde: Firmware, Kernel und Initrd. Passt der Nachweis nicht, bleibt die Platte zu.

Vertrauliche Rechenknoten, jetzt gerade

Auf diesen Knoten kann dein Paperless anywhere gerade starten. Die Liste ist live.

Knotenliste wird geladen … hat Platz gerade voll

Backups, wo du willst

Das Backup wird in der VM verschlüsselt, bevor es sie verlässt, und bei unabhängigen Speicheranbietern abgelegt. Sie weisen regelmäßig nach, dass sie die Daten noch haben.

Du wählst selbst: Regionen oder Länder (zum Beispiel nur EU) und 1 bis 3 Kopien bei verschiedenen Anbietern.

Anbieter werden geladen …

Nachprüfbar: wer welchen Schlüssel hat

Wo das Image entsteht, wie seine Platte verschlüsselt ist, wer welches Geheimnis kennt und was die Hardware bestätigt. Mit den Punkten, die noch offen sind, und wo du jede Aussage selbst prüfen kannst.

Schaubild: Ein GitHub-Runner baut das Image und verschlüsselt es mit LUKS; es liegt bei Aleph. Es läuft in einer vertraulichen VM (AMD SEV-SNP): gemessen werden Firmware, Kernel, Initrd und Besitzer, nicht das Image; was die VM schreibt, liegt in einem Datenbereich mit einem Zufallsschlüssel, den nur sie hat. Sicherungen werden in der VM mit age verschlüsselt und bei Filecoin abgelegt. Dein Browser prüft den Nachweis der VM und schickt erst dann Passphrase und Geheimnisse.1 · GebautGitHub-Runnerrootfs.yml baut Debian,Docker, Caddy, Skripteund verschlüsselt (LUKS)2 · AbgelegtAleph-Speicherdas Image, verschlüsselt,benannt durch seinenSTORE-Hash3 · LäuftVertrauliche VMAMD SEV-SNP, auf einem Aleph-KnotenGemessen ✓Firmware · Kernel · Initrd · BesitzerImage (LUKS): nicht gemessenöffnet sich nur mitder Image-PassphraseDatenbereich (dm-crypt)Zufallsschlüssel bei jedem Start,nur im Speicher der VM4 · GesichertFilecoinin der VM mit ageverschlüsselt, andeinen SchlüsselDuDein Browser, dein Tresor① prüft den AMD-Nachweis der VM② erst dann: Passphrase, Geheimnisseüber einen Relay, der nur weiterleitetSchlüsselImage-Passphrase: eine je ImageDatenbereich: je Start, nur in der VMTresor: nur bei dir Schaubild: Ein GitHub-Runner baut das Image und verschlüsselt es mit LUKS; es liegt bei Aleph. Es läuft in einer vertraulichen VM (AMD SEV-SNP): gemessen werden Firmware, Kernel, Initrd und Besitzer, nicht das Image; was die VM schreibt, liegt in einem Datenbereich mit einem Zufallsschlüssel, den nur sie hat. Sicherungen werden in der VM mit age verschlüsselt und bei Filecoin abgelegt. Dein Browser prüft den Nachweis der VM und schickt erst dann Passphrase und Geheimnisse.1 · GebautGitHub-Runnerrootfs.yml baut Debian,Docker, Caddy, Skripteund verschlüsselt (LUKS)2 · AbgelegtAleph-Speicherdas Image, verschlüsselt,benannt durch seinenSTORE-Hash3 · LäuftVertrauliche VMAMD SEV-SNP, auf einem Aleph-KnotenGemessen ✓Firmware · Kernel · Initrd · BesitzerImage (LUKS): nicht gemessenöffnet sich nur mitder Image-PassphraseDatenbereich (dm-crypt)Zufallsschlüssel bei jedem Start,nur im Speicher der VM4 · GesichertFilecoinin der VM mit ageverschlüsselt, andeinen SchlüsselDuDein Browser, dein Tresor① prüft den AMD-Nachweis der VM② erst dann: Passphrase, Geheimnisseüber einen Relay, der nur weiterleitetSchlüsselImage-Passphrase: eine je ImageDatenbereich: je Start, nur in der VMTresor: nur bei dir

Wer welches Geheimnis kennt

GeheimnisWer es kenntWer nicht
Image-Passphraseöffnet die LUKS-Platte des Images. Für alle VMs eines Images gleich; das Image enthält nichts Persönliches. Wer es kenntLe Space: Ein Release-Image bekommt beim Bau auf einem GitHub-gehosteten Runner eine zufällige Passphrase, die der Lauf nur verschlüsselt (age) an Le Space ausgibt. Dazu deine App (versiegelt in deinem Profil) und die VM beim Start. Wer nichtder Betreiber des Knotens
Schlüssel des Datenbereichsversiegelt alles, was die VM schreibt: Dokumente, Datenbank, Zertifikat. Wer es kenntnur die VM, nur im Speicher, bei jedem Start neu und zufällig. Nach dem Stopp gibt es ihn nicht mehr. Wer nichtdu, die App, Le Space, der Knoten
Hauptgeheimnis des Tresors32 zufällige Bytes; alle Schlüssel darunter werden daraus abgeleitet. Wer es kenntdu: versiegelt mit deinem Passkey (PRF) und mit den 24 Wörtern, offen nur im Speicher deines Browsers. Wer nichtLe Space, Aleph (dort liegt es nur versiegelt), die VM
Paperless-Passwörter, Sitzungsschlüsselaus dem Tresor abgeleitet. Wer es kenntdein Browser; die VM bekommt sie nach der Prüfung, für diesen Start. Wer nichtLe Space, der Knoten
Sicherungsschlüssel (age)öffnet deine Sicherungen; aus dem Tresor abgeleitet oder selbst eingefügt. Wer es kenntdein Browser. Die VM verschlüsselt nur an den öffentlichen Teil; den Schlüssel selbst bekommt sie nur für eine Wiederherstellung und löscht ihn danach. Wer nichtLe Space, die Speicheranbieter: Sie haben nur Chiffrat.

Was die Hardware bestätigt

  • Deine App prüft im Browser einen Bericht des AMD-Prozessors: von AMD signiert (mit Zertifikaten aus AMDs Schlüsseldienst), nicht widerrufen, mit ausreichendem Firmware-Stand.
  • Der Messwert im Bericht passt zu Firmware, Kernel und Initrd der Laufzeit, die in der App fest eingetragen ist, und zu einer Startzeile, die deinen App-Schlüssel als Besitzer nennt. Die App rechnet ihn selbst aus.
  • Im Bericht stehen ein frischer Zufallswert und der TLS-Schlüssel der VM: Die Verbindung endet in genau dieser VM. Erst dann gehen Passphrase und Geheimnisse hinaus, signiert von deinem App-Schlüssel; die VM nimmt sie nur mit dieser Unterschrift an.
  • Der Relay dazwischen trägt nur verschlüsselte Bytes. Geprüft wird in deinem Browser, nicht dort.

Noch nicht bestätigt

  • Der Inhalt des Images wird nicht mitgemessen. Dass in der VM das veröffentlichte Image läuft, stützt sich bisher darauf, dass sich seine Platte nur mit der Image-Passphrase öffnet, nicht auf einen Messwert der Hardware.
  • Die Image-Passphrase ist für alle VMs eines Images gleich, und Le Space kennt sie. Darum liegt alles, was deine VM schreibt, im eigenen Datenbereich. Ein Image, dessen Passphrase nur dein Tresor kennt, ist in Vorbereitung.
  • Der Bau ist nicht Bit für Bit wiederholbar, weil Debian-Pakete beim Bau geladen werden. Nachlesen lässt sich, was hineinkommt.
  • Weitere Punkte aus dem laufenden Sicherheits-Audit sind noch offen.

Selbst nachprüfen

  • Die Laufzeit der VM

    Firmware, Kernel und Initrd: die Aleph-Nachricht, deren Hash in der App steht. Liefert Aleph etwas anderes, startet die App nichts.

  • Deine VM und ihre Messwerte

    Die INSTANCE-Nachricht deiner App-Adresse nennt die Messwerte, die die App eingetragen hat; die App zeigt Instanz und Knoten.

  • AMD SEV-SNP

    Wie der Bericht aufgebaut ist und gegen welche Zertifikate er geprüft wird.

  • Das Image

    Den STORE-Hash zeigt die App in der Einrichtung. Gebaut wird es vom Workflow rootfs.yml aus rootfs/build-image.sh; die Zusammenfassung jedes Laufs nennt den Hash und den Quelltext-Stand.

  • Der Datenbereich

    Die App zeigt, ob eine laufende VM ihren Datenbereich versiegelt hat. Gelingt das nicht, startet Paperless-ngx nicht.

  • Die Sicherungen

    Datensätze und Stücke sind bei Filecoin öffentlich einsehbar, ihr Inhalt verschlüsselt. Beim Wiederherstellen prüft die VM jedes Stück gegen seine Inhaltsadresse (Piece-CID).

  • Diese Web-App

    Sie liegt auf IPFS. Welche Version die Domain ausliefert, zeigt ihr DNSLink-Eintrag (dig TXT _dnslink.paperless.le-space.de); jedes Release nennt seine CID.

  • Im Detail

    Die Beschreibung, nach der diese Seite geschrieben ist.

Der Quelltext liegt bei GitHub. Das Repository ist noch nicht öffentlich; bis dahin öffnen die GitHub-Links nur für Berechtigte.

Preise

Monatspakete mit Rechenstunden. Du zahlst nur Stunden, in denen Paperless-ngx läuft.

  • 15 Stunden 4,90 € pro Monat
  • 100 Stunden 14,90 € pro Monat
  • Dauerbetrieb, rund um die Uhr 89 € pro Monat

In jedem Paket enthalten: bis 8 GB Dokumente und ihre verschlüsselten Sicherungen in drei Kopien.

Beispiel: zwei Stunden pro Woche sind rund 8,7 Stunden im Monat und passen in das kleinste Paket.

Häufige Fragen

Gehört Paperless anywhere zum Projekt Paperless-ngx?

Paperless-ngx ist ein unabhängiges Open-Source-Projekt (GPL-3.0). Paperless anywhere ist ein Angebot von Le Space, nicht mit dem Projekt verbunden und wird von ihm weder unterstützt noch gesponsert.

Was ist Paperless-ngx?

Paperless-ngx ist die Open-Source-Software, die in deiner VM läuft: Sie liest Dokumente ein, erkennt den Text und macht sie durchsuchbar. Paperless anywhere startet sie für dich auf Abruf in einer vertraulichen VM und sichert sie danach.

Brauche ich ein Konto?

Nein. Ein Passkey auf deinem Gerät öffnet deinen Tresor; die 24 Wörter sind der Weg zurück, falls das Gerät fehlt. Le Space kann den Tresor weder öffnen noch wiederherstellen.

Was kostet es, wenn Paperless anywhere nicht läuft?

Keine Rechenzeit. Die Sicherungen liegen verschlüsselt bei den Speicheranbietern; sie sind im Paket enthalten.

Bereit?

Tresor anlegen dauert eine Minute. Kein Konto, kein Passwort.

Paperless anywhere starten →