Decentralised · confidential · verifiable
Inside it runs Paperless-ngx, on confidential nodes of several operators and with backups at several independent storage providers: no single data centre. The VM is confidential (AMD SEV-SNP); at every start the processor confirms firmware, kernel and initrd, and the app checks that before it hands over a key. You choose how it runs: always on, around the clock, or on demand when you need it, for the bookkeeping, say.
Open the app →With a passkey, no account. The app itself is in German for now.
Paperless-ngx is an independent open source project (GPL-3.0). Paperless anywhere is offered by Le Space, is not affiliated with the project and is neither endorsed nor sponsored by it.
Resilient
No single data centre: it computes on nodes of several operators and backs up to several independent storage providers. If a node fails, you start on another.
Confidential and checkable
The VM’s memory and disk are encrypted; the node’s operator cannot read them. What the processor confirms you need not take from us: you can check it. What is still open is listed beside it, under “Verify”.
Around the clock or pay as you use
A monthly package that fits how you work: always on, around the clock, or a package of hours to start, work and stop.
Don’t trust, verify: who holds which key, what the hardware confirms and what is still open →
Who is it for?
For everyone who does not want to entrust their document archive to a single data centre:
- If you do not want to depend on one host or one storage provider staying up: the computing runs on nodes of several operators, the backups lie with several independent storage providers. If one fails, you start on another node and restore your backup.
- If the confidentiality of your documents matters to you: the processor encrypts the VM’s memory, and its disk and the backups are encrypted. The node’s operator and its staff see encrypted data only, and so does whoever breaks into a data centre. What is still open here is listed under “Verify”.
- Companies that need their archive around the clock: Paperless anywhere runs always on.
- Freelancers and small businesses that need it only now and then: your own VM is ready in about a quarter of an hour, say once a week or at the month’s end for the bookkeeping, and uses no compute time in between.
How it works
- 01
Create your vault
A passkey on your device opens your vault. You also get 24 words to write down: they get you back in without the device. The vault needs no account and no e-mail address. Only when you buy a package does the payment service Stripe ask for an e-mail address, for the receipt and the subscription.
- 02
Start
The app finds a free TEE node, checks its hardware attestation and only then hands over the disk key. The backup is restored.
- 03
Work
Paperless-ngx in your browser as usual: upload, tag, search.
- 04
Back up and shut down
One click: the VM encrypts a backup, stores it decentrally and shuts down. From then on no compute time runs.
What is a TEE?
TEE stands for Trusted Execution Environment: a shielded area that the processor itself protects.
Encrypted by the processor
With AMD SEV-SNP the CPU encrypts the VM’s memory with a key only it knows. The machine the VM runs on sees encrypted data only.
The operator cannot read along
Whoever runs the node cannot read the VM’s memory or disk. What your VM writes also goes into an area it seals at every start with a key of its own. That key exists only in the VM’s memory.
Check first, then unlock
Before the app hands over a key, it has the hardware confirm what was started: firmware, kernel and initrd. If the attestation does not match, the disk stays locked.
Resilient: no single data centre
Your Paperless anywhere depends on no particular machine: it can start on any of these confidential nodes. If one fails, you start on another and restore your backup. The list is live.
Loading the node list … has room full right now
The backups, in turn, lie with several independent storage providers, in the countries you choose.
What still depends on Le Space: balance and billing, the relay through which the app checks the VM’s attestation, and the delivery of the app.
Backups where you want them
The backup is encrypted inside the VM before it leaves, and stored with independent storage providers. They regularly prove that they still hold the data.
You choose: regions or countries (for example EU only) and 1 to 3 copies with different providers.
Loading providers …
Don’t trust. Verify.
Checkable: who holds which key · Not confirmed yet ↓
Where the image is built, how its disk is encrypted, who knows which secret and what the hardware confirms. With the points that are still open, and where you can check each claim yourself.
What the hardware confirms
- Your app checks a report from the AMD processor in the browser: signed by AMD (with certificates from AMD’s key service), not revoked, with a firmware level high enough.
- The measurement in the report matches the firmware, kernel and initrd of the runtime fixed in the app, and a boot line naming your app key as the owner. The app computes it itself.
- The report carries a fresh random value and the VM’s TLS key: the connection ends in exactly this VM. Only then do the passphrase and secrets go out, signed by your app key; the VM accepts them only with that signature.
- The relay in between carries encrypted bytes only. The checking happens in your browser, not there.
Not confirmed yet
- The image’s content is not measured. That the VM runs the published image rests, for now, on its disk opening only with the image passphrase, not on a measurement by the hardware.
- The image passphrase is the same for every VM of an image, and Le Space knows it. That is why everything your VM writes goes into its own data area. An image whose passphrase only your vault knows is in preparation.
- The build cannot be repeated bit for bit, because Debian packages are fetched while it runs. What goes in can be read.
- The relay through which the app reaches the VM runs in an ordinary VM and is not attested. It can read nothing and change nothing unnoticed; it can delay or refuse connections, though, and it sees from which IP address which VM is called and when.
- Further points from the ongoing security audit are still open.
Who knows which secret
5 secrets
What the evidence looks like in the app
Sample, not a real VM
While your VM runs, the app shows for every claim its value, how it knows it and where you can check it. Here with made-up values, since there are no real ones without a booked VM; only the runtime is the real one, it is the same for everyone. In the app, the links lead to your own messages on Aleph.
Evidence of this VM Sample, not a real VM 4 checked by the app · 3 reported · 2 not confirmed
Runtimechecked by the app
Firmware, kernel and initrd. Fixed in the app; if Aleph delivers anything else, the app starts nothing.
- Name
- snp-1.2
- Aleph message
- 5cd480a138c5969b18d1f6850a5fe0176e6f22e65a323ad9593e71165fb687bc
- Bundle (SHA-256)
- 083630b3b5e22a95ab8f48fdf8a67d80d03420a075ccef97a25d73f8a46378bf
- Boot line
- console=ttyS0 luks=1 owner={owner}
Measurementchecked by the app
Computed by the app from the runtime and a boot line naming your app key as the owner, and written into the INSTANCE message.
- computed
- example-measurement-0000000000000000
Instancechecked by the app
The INSTANCE message on Aleph, signed by your app.
- Message
- example-instance-0000000000000000
- paid by
- 0xExample-0000000000000000
Nodereported, not confirmed by the hardware
The Aleph node the VM runs on, and its address.
- Node
- example-node-0000000000000000
- Address
- paperless.example
Attestationchecked by the app
The AMD processor’s report, checked in your browser: signed by AMD, its measurement one of those computed, bound by a fresh random value to the VM’s TLS key.
- Measurement in the report
- example-measurement-0000000000000000
- Policy
- 0x30000
- Firmware levels
- bootloader 0 · tee 0 · snp 0 · microcode 0
- Time
- 2026-01-01T12:00:00.000Z
Relaynot confirmed
The server through which your browser reached the VM for the check.
One of Le Space’s relays, not attested: an ordinary server on Aleph. The app accepts it only if Aleph holds it as a running instance of a Le Space account. It forwards encrypted bytes only; it cannot read them or change them unnoticed, the checking happens in your browser. It can drop connections, and it sees connection data: your IP address, which VM on which node, when and how much.
- Relay
- relay.example
Imagenot confirmed
The encrypted disk the VM boots from, named by its STORE hash.
The image’s content is not measured. That the VM boots the published image rests on its disk opening only with the image passphrase.
- STORE hash
- example-image-0000000000000000
Data areareported, not confirmed by the hardware
Where the VM writes.
The VM reports: a data area of its own, encrypted with a key of this start that only it has.
Backupsreported, not confirmed by the hardware
The last backup that reached storage providers.
Encrypted with age inside the VM, to your key; the providers hold ciphertext only.
- Time
- 2026-01-01T14:00:00.000Z
- Copies
- 2
- Piece (piece CID)
- example-piece-0000000000000000
Check it yourself
9 places with links
- The VM’s runtime
Firmware, kernel and initrd: the Aleph message whose hash is fixed in the app. If Aleph delivers anything else, the app starts nothing.
- Your VM and its measurements
The INSTANCE message of your app address names the measurements the app put in. For a running VM the app shows instance, node, measurements and the result of the check under “Evidence of this VM”, with links to exactly your messages.
- AMD SEV-SNP
How the report is built and which certificates it is checked against.
- The image
The app shows the STORE hash in the setup. The workflow rootfs.yml builds it from rootfs/build-image.sh; every run’s summary names the hash and the source commit.
- The data area
The app shows whether a running VM sealed its data area. If that fails, Paperless-ngx does not start.
- The backups
Data sets and pieces are public on Filecoin, their content encrypted. At a restore the VM checks every piece against its content address (piece CID).
- The relay
It forwards between your browser and the VM without being able to read anything, and is not attested itself. Its source is open: the relay, and the bridge through which it is reached over libp2p. The app uses only relays that Aleph lists as a running instance of one of Le Space’s two relay accounts, or one you enter yourself.
attest-relay (relay-button)bridge (orbitdb-relay)In the security model
- This web app
It is served from IPFS. Which version the domain serves, its DNSLink record shows (dig TXT _dnslink.paperless.le-space.de); every release names its CID.
- In detail
The description this page is written from.
Security modelKeys and recoveryYour own imageWorkflowVariants of confidential VMs compared
The source code is public on GitHub: github.com/Le-Space/paperless-anywhere.
Next: an image of your own
Not in operation yet. Today every VM of an image shares its passphrase, and Le Space knows it (see “Checkable”). This is where it is going: the passphrase comes from your vault, and nobody else has it: not Le Space, not the node, not GitHub.
In preparation
- 01
Public image
The system Paperless-ngx runs in is the same for everyone and holds no secret. The image workflow can already publish it unencrypted, with its hash; anyone can recompute it.
- 02
Attested builder
A small service in a confidential VM, measured as a whole, together with the image it seals. The app will have the hardware confirm that exactly the published code runs there with exactly that image.
- 03
Your image
Only then the app sends the passphrase from your vault. The service seals the image with it and forgets it again. The app fetches the sealed image over the same attested channel and stores it on Aleph itself.
- 04
Your VM
At the start the VM opens the disk with your passphrase. A disk that was not sealed with it does not open, and nothing starts.
Who will know the passphrase
- Your vault: yes
derives it - The builder: briefly
during the build, in memory only - Your VM: briefly
at the start, in memory only - Le Space: no
- The node’s operator: no
- GitHub: no
What can then be compared in public: the image’s hash and the builder’s measurement. Your encrypted image looks different for every person. Where it stands: the builder is built. In a trial it ran on Aleph as a measured VM, passed the hardware’s check there and sealed the real image. It is not in operation: no builder runs permanently and the app names none; only then does “Mein Image bauen” appear in the setup.
Prices
Choose a monthly package: always on, around the clock, or the hours you need in a month.
- 15 hours €6.40 per month Backup included
- 100 hours €16.40 per month Backup included
- Always on, around the clock €90.50 per month Backup included
All prices include 19% VAT.
Included in every package: up to 8 GB of documents.
The encrypted backup in three copies is included in every package. You need it for your documents to come back after a stop: stopping erases the VM, and the next start restores everything from the backup.
Without a package you can have your backups kept for a year, for €18 once. Keeping is not opening: restoring needs compute time, that is a package or extra hours.
After the end of the paid period no new backups are made; the existing ones stay retrievable for at least 30 more days.
Example: two hours a week are about 8.7 hours a month and fit in the smallest package.
The terms apply (in German); they also hold the instruction on withdrawal (§ 9).
Frequently asked questions
Is Paperless anywhere part of the Paperless-ngx project?
Paperless-ngx is an independent open source project (GPL-3.0). Paperless anywhere is offered by Le Space, is not affiliated with the project and is neither endorsed nor sponsored by it.
What is Paperless-ngx?
Paperless-ngx is the open source software that runs in your VM: it takes in documents, recognises their text and makes them searchable. With Paperless anywhere it runs in a confidential VM of your own, around the clock or on demand, and is backed up.
Does everyone get the same software?
Yes. The system is the same for everyone. Today one passphrase per image opens the disk; every VM of that image shares it, and Le Space knows it. That is why what your VM writes goes into a data area with a key only the VM has. In preparation: an attested builder seals the image for each person separately, with a passphrase from their vault. The documentation says how image and builder can then be checked.
Do I need an account?
Not for the vault. A passkey on your device opens it; the 24 words are the way back in if the device is missing. Le Space can neither open nor recover the vault. When you buy a package, the payment service Stripe asks for an e-mail address, for the receipt and the subscription.
Can I pay the providers myself?
Yes. Instead of a package you then pay the providers directly from your own wallet. The VM on Aleph and the backups on Filecoin belong to your wallet’s address in that case.
- What you need: a wallet (MetaMask, for example), Aleph credits for the VM, and USDFC and a little FIL for the backups.
- What you approve: your wallet lets the app start and delete VMs for you, and lets a session key store backups for a limited time. Your wallet’s seed stays with you.
- What still comes from Le Space: the app, the image with its present image passphrase, and the relay through which the app checks the VM’s attestation.
You set this up in the app, under “Einrichtung” (the app itself is in German).
What if the relay is down or blocked?
At every start the app looks up Le Space’s running relays and tries them in turn; if one fails, it takes the next. If none can be reached right now, one of your own helps. This changes nothing about security: the checking happens in your browser, and a relay sees encrypted data only, whether it is Le Space’s, yours or someone else’s. All that matters is that the connection comes about.
- Anyone can start a relay of their own with the open project relay-button: an orbitdb-relay that offers the attestation path at /attest.
- It runs as a VM on Aleph Cloud and needs Aleph credits of its own for that.
- In the app you enter it in the setup under “Eigene Relays” (own relays). The app then tries it before Le Space’s.
relay-button: source and instructionsThe relay in the security model
How safe is my own device in this?
Your documents are encrypted in the VM and in the backups, and the keys to them come into being only with you, when you open the vault. The limit is the browser on your device, as with every web app and every password manager in a browser: what lies open there can be read by a browser extension with access to the page, or by malware. It cannot get at the passkey itself, and without your approval by fingerprint or PIN the passkey opens nothing. A little care puts you on the safe side:
- Use a browser profile of its own, without extensions, for Paperless anywhere, and install the app there.
- Or take a private window, a phone or a tablet.
- Enter the 24 words only in the app at paperless.le-space.de and keep them on paper. The passkey works for this address only; a fake page can still ask for the words.
- Lock the vault when you are done, with the “Sperren” (lock) button; the app itself is in German.
What does it cost while Paperless anywhere is not running?
Only a running instance uses hours. Your monthly package runs on, though, and is billed every month until you cancel. The backup is included in the package and runs on with it. After the end of the paid period no new backups are made; the existing ones stay retrievable for at least 30 more days.
Ready?
Creating a vault takes a minute. No account, no password.