# Saber: a handwriting notes app that syncs through your own Nextcloud

> Saber is a Flutter note-taking app for stylus input on Android, iOS, Windows, macOS and Linux, with a dual-password sync model and a canvas-composited highlighter. The build and install steps live on the project wiki rather than the README.

**saber-notes/saber** — The cross-platform open-source app built for handwriting

- Repository: https://github.com/saber-notes/saber
- Website: https://saber.adil.hanney.org
- Stars: 4,842 · Forks: 374
- Language: Dart
- License: GPL-3.0
- Published: 2026-09-23 · Updated: 2026-09-23 · Language: en
- Canonical page: https://hysenlabs.com/projects/saber-notes-saber

## What Saber is for, and who actually needs it

Saber is a notes app built around handwriting rather than typing. That framing matters, because most note apps treat a stylus as a secondary input and a keyboard as the primary one. Saber inverts that: the README describes it as "the notes app built for handwriting," and the features it calls out are the ones a stylus user notices. The first is dark-mode inversion. Saber can invert your notes when you are in dark mode, so you write white ink on a black background. The README gives the classroom example: a teacher turns the lights off and a bright white page becomes uncomfortable. Images and PDFs are inverted along with the ink, so a scanned printout or a textbook page stays usable instead of glowing. The second is the highlighter. The maintainer writes that highlighting multi-line equations was a hassle in other apps, where the highlighter changed color when it overlapped itself, or rendered on top of the text and faded it out. Saber uses canvas compositing so overlaps keep a consistent color and the text stays legible underneath. The third is folder nesting with no depth limit, paired with a home screen that surfaces recent notes so a note buried several levels deep is still reachable. The intended user is a student or anyone who takes handwritten notes on a tablet, plus desktop users who want the same notes on a larger screen. The README also names professionals and "creative minds," which is broad enough to be marketing rather than a constraint. The real constraint is the sync backend, covered below.

## The dual-password sync model and what it protects against

Saber stores notes on a Nextcloud server. The README links a Nextcloud server as one of the project's links, and the repository contains pricing.md and pricing-cs.md, which suggests the project also sells storage on an official instance, though the README does not spell out the terms. The interesting design decision is the dual-password system. According to the README, it protects your notes "from anyone but you, even if they have complete control over the server." That is a threat model, not a feature bullet: it assumes the server operator is untrusted or could be compromised, and it means the encryption boundary sits on the client rather than on the host. The practical consequence is that losing the client-side secret is not something a server administrator can undo for you. The README does not document a recovery path, and it does not document key rotation, so anyone evaluating Saber for a team should treat those as open questions to resolve before storing anything they cannot afford to lose. The README also says you can use the official server, another server, or host your own. Self-hosting is stated as possible but not described; the README sends readers to the wiki for install and build instructions, and the wiki is where the operational detail lives. If you are the person who will run the server, budget time for reading the wiki and the Nextcloud documentation, because the repository README will not walk you through it.

## Installing Saber and taking a first handwritten note

The README does not carry install commands. It says, in a section titled Install, to see "Install Saber" on the wiki, and the badges at the top point at the distribution channels. Those channels are Google Play, F-Droid, the App Store, a Windows download, Flathub, and an AppImage. Package identifiers visible in the README and its badge URLs are com.adilhanney.saber for Flathub and F-Droid, and com.adilha as a truncated F-Droid link target. On a Linux desktop with Flatpak available, the Flathub listing is the documented route. The command below is the standard Flathub install form for the application ID shown in the README badge; run it and you should see Flatpak resolve and install com.adilhanney.saber.

```bash
flatpak install flathub com.adilhanney.saber
flatpak run com.adilhanney.saber
```

On Android, the README offers F-Droid and Google Play as stores, so the first step is installing from one of those listings rather than sideloading an APK. On iOS the App Store badge is the documented route. On Windows there is a download badge, and the repository has an installers/ directory, which is consistent with packaged Windows builds rather than a command-line install. If you want to build from source instead, the README points at a "Build Saber" wiki page. The repository is a Flutter project: pubspec.yaml and pubspec.lock sit at the top level, lib/ holds the Dart source, and platform directories exist for android/, ios/, linux/, macos/, and windows/. A source build therefore starts from the Flutter toolchain, but the exact commands are on the wiki, and the README does not reproduce them. Once the app is open, the first real task is connecting it to a Nextcloud account, because that is where notes live. The README does not document the login flow beyond the fact that a login screen exists in the screenshots, so follow the in-app prompts and treat the dual-password step as the moment to decide what you are willing to lose. After that, create a folder, create a note inside it, and write with a stylus. The dark-mode inversion and the highlighter are both settings-level behaviours rather than separate tools, and the README describes them as automatic once dark mode is on.

## Where Saber is the wrong tool

The clearest limitation is the sync dependency. Saber talks to Nextcloud. If your organisation standardises on a different backend, Saber is not the app for you, and the README does not present an alternative. There is no mention of a browser client either, so anyone who needs to open a note from a machine where they cannot install software is out of luck. The second limitation is documentation placement. The README is short and delegates features to issue #1, install to one wiki page, build to another, and maintainer notes to a third. That is a reasonable choice for a project whose README would otherwise be enormous, but it means a reader who lands on the repository page cannot answer basic questions such as which Linux package format is recommended, what the minimum Nextcloud version is, or how to recover from a lost password. The README is silent on all three. The third limitation is the dual-password model itself. It is a genuine security property, and it is also a genuine operational burden: it moves responsibility for the encryption secret onto the user, and the README does not describe what happens when that secret is lost or when a second device needs to be enrolled. For a solo user with one tablet, that is fine. For a shared account, it is a decision that needs to be made deliberately. Finally, the feature list is thin by design. Saber is not trying to be a document editor, a task manager, or a PDF annotation suite; the README's PDF support is about inverting pages for dark mode, not about editing them.

## Saber compared with a plain text or Markdown notes setup

The obvious alternative is a text-first notes app, and the difference is not cosmetic. A Markdown notes app stores characters. Saber stores ink strokes, images and PDFs, and renders them on a canvas. That is why the highlighter problem exists at all: with text you can mark a range and let the renderer decide the highlight color, while with strokes the app has to composite overlapping translucent shapes and keep the result consistent. Saber's answer, per the README, is canvas compositing, and the maintainer's claim is that it matches or beats paper. A text-first app also sidesteps the inversion question, because a dark theme simply changes foreground and background colors. Saber has to invert raster content, which is why the README makes a point of saying images and PDFs are inverted too. The trade-off runs the other way as well. Text is searchable, diffable, and editable with any tool; ink is none of those without recognition, and the README does not mention handwriting recognition or text search. If you need your notes to be greppable or to live in a Git repository, Saber is not that. If you need to reproduce a page of mathematics with a highlighter that behaves like the physical article, a text-first app is the wrong shape for the problem.

## Licence, packaging and what upgrades cost

Saber is licensed under GPL-3.0, and the repository carries LICENSE.md at the top level. For most users this changes nothing: you can install and use the app for free, and the README's support section asks for sponsorship, donations, or buying storage on the Nextcloud server rather than for a licence fee. For anyone embedding Saber in a product, GPL-3.0 is a copyleft licence, and the obligations that follow from distributing a modified build are a matter for your own legal review; this article is not legal advice. On the upgrade side, the release history shows a steady cadence: v1.35.1+1 on 2026-08-13, v1.36.0 on 2026-08-20, and v1.36.1 on 2026-08-30. The last push to the default branch was on 2026-09-15. That is recent enough that the project is not dormant. The cost of upgrading depends on how you installed it. Store builds, meaning F-Droid, Google Play, the App Store, Flathub and the Windows download, update through their own channels. An AppImage is a file you replace yourself, and a source build is yours to rebuild, which is where the Flutter toolchain and the wiki build page come back into play. Because notes live on the server, an app upgrade should not move your data, but the README does not document a rollback procedure or a migration path between versions, so treat a downgrade as unsupported unless the release notes for the specific version say otherwise.

## Conclusion

Adopt Saber if you write with a stylus, want your notes to stay readable in dark mode, and are willing to run or pay for a Nextcloud account, since the README points sync at a Nextcloud server and the install and build steps live on the wiki rather than in the repository. Do not adopt it if you need a browser client, a documented self-hosting walkthrough in the README, or a sync backend other than Nextcloud; the README does not describe one. Before committing, verify three things: that the wiki install page covers your exact platform and package format, that your Nextcloud instance is one you can point Saber at, and that the dual-password setup is something you can explain to everyone who will share the account. The repository's last push was on 2026-09-15 and the most recent tagged release is v1.36.1 from 2026-08-30, so the project is moving, but the README itself delegates almost every operational detail to the wiki.

## FAQ

### How do I install the Saber notes app?

The README's Install section points to the "Install Saber" page on the project wiki, and the badges at the top of the README link to Google Play, F-Droid, the App Store, a Windows download, Flathub and an AppImage. On Linux with Flatpak, the Flathub listing uses the application ID com.adilhanney.saber. The repository README does not contain install commands itself.

### Does Saber sync my notes, and where are they stored?

Yes. Saber stores notes on a Nextcloud server, and the README says you can use the official Saber server, another server, or host your own. The README links a Nextcloud server as one of the project's links but does not document the server setup steps.

### What is Saber's dual-password system for?

According to the README, the dual-password system protects your notes from anyone but you, even if they have complete control over the server. That means the encryption boundary sits on the client rather than on the host. The README does not document password recovery or key rotation.

### Is Saber free and open source?

Yes. The repository is licensed under GPL-3.0 with LICENSE.md at the top level, and the README says the app is completely open source so anyone can view the source code. The README's support section asks for sponsorship, donations, or buying storage on the Nextcloud server rather than a licence fee.

### How do I build Saber from source?

The README's "Build from source" section points to the "Build Saber" page on the project wiki. The repository is a Flutter project with pubspec.yaml and pubspec.lock at the top level, Dart source in lib/, and platform directories for android, ios, linux, macos and windows. The exact build commands are on the wiki, not in the README.

## Sources

- [License: GPL-3.0](https://github.com/saber-notes/saber/blob/main/LICENSE)
- [Project website](https://saber.adil.hanney.org)
- [README](https://github.com/saber-notes/saber/blob/main/README.md)
- [Releases](https://github.com/saber-notes/saber/releases)
- [saber-notes/saber on GitHub](https://github.com/saber-notes/saber)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/saber-notes-saber
