dennis-guse.de
Beta

Zettelfrieden

An overview of all your insurance contracts. Zettelfrieden reads policies and invoices and tells you in good time by when you can cancel.

What it is

Many insurance contracts renew themselves if you do not cancel in time. Zettelfrieden keeps your contracts, premiums and deadlines in one place. You upload a PDF or a photo, and the details are taken from it.

You run the program yourself, for example on a small server at home. Your documents stay with you and not with a company on the internet. The interface is in German.

The pictures show a test version with invented data.

Key facts · DG-004
StatusBeta · v0.2.5
LicenseMIT
InterfaceGerman
Runs onYour own server or mini PC
RequirementsDocker · 2 GB memory or more
TechnologyNext.js · Python (FastAPI)
01 — Overview

All contracts and deadlines at a glance

The start page shows what your insurance costs per year and which contracts you can cancel next. A timeline shows the deadlines of the coming months.

Each contract has its own page with premiums, documents, claims and notes. Documents that are not yet assigned to a contract wait in the inbox.

Zettelfrieden start page: headline for the next cancellation deadline, a timeline of deadlines and costs by type of insurance.
The start page with deadlines and costs.
02 — Documents

Reading documents automatically

You upload a policy or an invoice. Zettelfrieden reads insurer, contract number, premium and deadlines from the text and enters them. This also works with scanned pages and photos.

For every value you can see where it comes from: read from the document (with page and text passage), calculated, or uncertain. That makes it quick to check what is right. No AI service on the internet is used. The reading happens on your server.

Warning

Automatic reading makes mistakes. Always check premiums and deadlines against the original letter.

Window for uploading a document with a list of the values read. Each value says whether it was found, calculated or is uncertain.
After uploading, every row shows where the value comes from.
03 — Costs

Keeping an eye on premiums

Zettelfrieden remembers how the premium of a contract changes over the years. That shows you when an insurance policy became more expensive.

Contracts that currently cost nothing, for example for a car that has been deregistered, can be paused. For your tax return there is a list of yearly totals that you can save as a spreadsheet. It does not replace tax advice.

Page of a car contract with a bar chart of yearly premiums from 2019 to 2026 and a price increase of 4.1 percent.
How the premium of a car insurance policy developed over six years.
04 — Cancelling

Creating cancellation letters

You pick the reason, for example an ordinary cancellation or a cancellation after a premium increase. Zettelfrieden puts contract details and address into a ready-made letter that you can print.

You can add the deadlines to your calendar (Apple, Google or Outlook). The calendar then reminds you 14 and 7 days ahead.

Note

The templates are not legal advice. Check deadlines, contract number and address before you send the letter.

Window for creating a cancellation letter with four reasons for cancelling and fields for sender, insurer and contract number.
The window for creating a cancellation letter.
05 — Privacy

Your data stays with you

  • Everything is stored on your server. You do not sign in to any third-party service.
  • Every user sees only their own contracts and documents.
  • A password is enough to sign in. You can also require a second code from a phone app.
  • Backups of your data are stored encrypted.
  • The server fetches insurers' logos through a Google service. You can switch this off, and initials appear instead.
Warning

If you make Zettelfrieden reachable from the internet, set up an encrypted connection (HTTPS). Otherwise someone on the network can read your password.

06 — Installing

How to get it onto your server

You need a Linux server or mini PC that runs Docker, or a Proxmox server. One command installs everything. Afterwards you open the page in your browser on port 3000.

There is no fixed default password. On first start a one-time password is created and shown at the end of the installation. You use it to sign in as Admin and set your own password.

On a Proxmox server
$ bash -c "$(wget -qLO - https://raw.githubusercontent.com/KaelanTesseract/Zettelfrieden/main/proxmox-install.sh)"
On another Linux server
$ bash -c "$(wget -qLO - https://raw.githubusercontent.com/KaelanTesseract/Zettelfrieden/main/install.sh)"
Update later
$ update
What your server needs (minimum · better)
Processor2 cores · 4 cores
Memory2 GB · 4 GB
Storage5 GB · 16 GB
Related

More projects

DG-001Active

HyperLED

LED controller for ESP32-S3 boards. Inspired by the WLED project, but with different features.

  • ESP32-S3
  • WS2812B
DG-002Active

HyperLED-Slave

Firmware for the slaves in HyperLED's master/slave network.

  • ESP32-S3
  • C