Zettelstore supports the following design goals:
Every zettel you create should be readable without the help of any tool, even without Zettelstore.
It should be not hard to write other software that works with your zettel.
Normal zettel should be stored in a single file. If this is not possible: at most in two files: one for the metadata, one for the content. The only exception are predefined zettel stored in the Zettelstore executable.
There is no additional database.
All zettel belong to you, only to you. Zettelstore provides its services only to one person: you. If the computer running Zettelstore is securely configured, there should be no risk that others are able to read or update your zettel.
If you want, you can customize Zettelstore in a way that some specific or all persons are able to read some of your zettel.
If you want to use the Zettelstore software, all you need is to copy the executable to an appropriate file directory and start working.
Upgrading the software is done just by replacing the executable with a newer one.
There is only one executable for Zettelstore and one directory, where your zettel are stored.
If you decide to use multiple directories, you are free to configure Zettelstore appropriately.
You can use Zettelstore as a standalone software on your device, but you are not restricted to it.
You can install the software on a central server, or you can install it on all your devices with no restrictions how to synchronize your zettel.
Zettelstore provides a default web-based user interface. Anybody can provide alternative user interfaces, e.g. for special purposes.
The purpose of Zettelstore is to safely store your zettel and to provide some initial relations between them.
External software can be written to deeply analyze your zettel and the structures they form.
Without any customization, Zettelstore provides its services in a safe and secure manner and does not expose you (or other users) to security risks.
If you know what use are doing, Zettelstore allows you to relax some security-related preferences. However, even in this case, the more secure way is chosen.
The Zettelstore software uses a minimal design and uses other software dependencies only is essential needed.
There will be no plugin mechanism, which allows external software to control the inner workings of the Zettelstore software.