Visibility rules for zettel

For every zettel you can specify under which condition the zettel is visible to others. This is controlled with the metadata key visibility. The following values are supported:


The zettel is visible to everybody, even if the user is not authenticated.


Only an authenticated user can access the zettel.

This is the default value for default-visibility.


Only an authenticated user that is allowed to create new zettel can access the zettel.


Only the owner of the Zettelstore can access the zettel.

This is for zettel with sensitive content, e.g. the configuration zettel or the various zettel that contains the templates for rendering zettel in HTML.


Only the owner of the Zettelstore can access the zettel, if runtime configuration expert-mode is set to a boolean true value.

This is for zettel with sensitive content that might irritate the owner. Computed zettel with internal runtime information are examples for such a zettel.

When you install a Zettelstore, only some zettel have visibility “public”. One is the zettel that contains CSS for displaying the web user interface. This is to ensure that the web interface looks nice even for not authenticated users. Another is the zettel containing the Zettelstore license. The default image, used if an image reference is invalid, is also public visible.

Please note: if authentication is not enabled, every user has the same rights as the owner of a Zettelstore. This is also true, if the Zettelstore runs additionally in read-only mode. In this case, the runtime configuration zettel is shown (its visibility is “owner”). The startup configuration is not shown, because the associated computed zettel with identifier 00000000000096 is stored with the visibility “expert”. If you want to show such a zettel, you must set expert-mode to true.


By using a query expression, you can easily create a zettel list based on the visibility metadata key:

  1. Only if expert-mode is enabled, this list will show some zettel. ↩︎