Export naming

What downloaded files are called — template, placeholders and preview.

Settings → „Export“ decides what files downloaded from verstag are called. It does not affect storage: internally every file keeps its own identifier.

Only owners and admins may change the workspace template. A member gets a 404 page.

A project can have a template of its own; its outputs are then named by that one instead of the one set here. More below under „Which template applies“.

The signed-in product speaks German, so its labels and messages are quoted in German throughout, with the English rendering in italics.

The template

One text field with placeholders in curly braces. The default is:

{original}

Anything that is not a placeholder stays as it is — hyphens, underscores, words of your own. So a template can look like this:

{folder}_{original:slug}_{dimensions}

Below it, a preview shows what a name looks like with your template, on a sample. It updates as you type.

The placeholders

PlaceholderWhat it inserts
{original}Original filename without extension, unchanged
{project}Project name; for the default project while it has not been renamed, „allgemein“ (general)
{folder}Folder name, or „unsortiert“ (unfiled) with no folder
{format}Format abbreviation, „freiform“ (free-form) for free-form
{width}Width in pixels
{height}Height in pixels
{dimensions}Both together, e.g. 1080x1350
{date}Date as YYYY-MM-DD
{time}Time as HHMM
{hash}Short identifier of the output
{workspace}The workspace's abbreviation
{meta.<key>}The value of a project field, e.g. {meta.kunde}; empty where the project has none

Date and time are in Central European Time, whatever timezone your account is set to.

Modifiers

After a colon, the value can be changed:

ModifierEffectAvailable on
:upperUpper case{original}, {project}, {folder}, {format}, {hash}, {workspace}, {meta.<key>}
:lowerLower casethe same
:slugShort form without umlauts or spaces{original} only

Taking „Kampagne Hero Größe“ as the sample:

TemplateResult
{original}Kampagne Hero Größe
{original:lower}kampagne hero größe
{original:slug}kampagne-hero-groesse
{original:upper}KAMPAGNE HERO GRÖSSE

{original} hands the name back as it was uploaded — capitals, spaces and umlauts intact. :lower only lower-cases it; :slug turns it into a short form with hyphens. Under :upper a German ß becomes a double S, which makes the name one character longer.

Date, time, width, height and dimensions take no modifiers — there is no case in them to change. The reference list in the form shows what each placeholder accepts.

Project fields in the template

{meta.kunde} inserts the value of the project field with the key kunde — the value of the project the output comes from. It comes out in the same short form as {project}: lower case, without umlauts, spaces or punctuation.

Value in the project{meta.kunde}{meta.kunde:upper}
„ACME GmbH & Co.“acme-gmbh-coACME-GMBH-CO
„Müller“muellerMUELLER

The template may only name keys that exist as project fields. The reference list in the form shows which ones exist.

Where a project has no value for the field, the spot stays empty. So put _ or - around {meta.…} as separators: two of them then merge into one. Spaces and dots stay doubled.

TemplateWithout a value
{original}_{meta.kunde}_{date}foto_2026-07-13
{original}-{meta.kunde}-{date}foto-2026-07-13
{original}.{meta.kunde}.{date}foto..2026-07-13

Which template applies

An output is named by its project’s template where the project has one of its own, and by the workspace template otherwise.

A project’s own template is set under „Projektangaben“ (Project details) in the project’s menu — see Projects. By default every member who sees the project may do that; owners and admins can limit it to themselves under „Berechtigungen“ (Permissions). A member then sees the template in the project details read-only. For the default project, only owners and admins ever may.

If a project’s template is no longer accepted, its outputs are named by the workspace template; if that is not accepted either, by the default {original}.

When the template is refused

Each case has its own message at the field:

  • An unknown placeholder. The message names it and lists every one that exists. For a German name such as {projekt} it names the valid one instead: „Unbekannter Platzhalter: {projekt}. Gemeint ist {project}.“ (Unknown placeholder: {projekt}. {project} is meant.)
  • A modifier that does not exist, or one that would do nothing here. The message says what this placeholder accepts.
  • An invalid key in {meta.…}, one with capitals such as {meta.Kunde} for instance, or {meta} with no key at all.
  • An unknown project field. The message names the ones that exist, e.g. „Unbekanntes Projektfeld: {meta.kundin}. Angelegt sind {meta.kunde} und {meta.kampagne}.“ (Unknown project field: {meta.kundin}. Defined are {meta.kunde} and {meta.kampagne}.)
  • An empty field. „Die Vorlage darf nicht leer sein.“ (The template must not be empty.)
  • More than 200 characters. „Die Vorlage darf höchstens 200 Zeichen lang sein.“ (The template may be at most 200 characters long.)
  • Line breaks or control characters in the field.
  • Invisible characters, such as direction marks or zero-width spaces, the kind that comes along when pasting from other programs: „Die Vorlage darf keine unsichtbaren Steuer- oder Richtungszeichen enthalten.“ (The template may not contain invisible control or direction characters.)

While the template is refused, „Vorlage speichern“ (Save template) stays disabled.

Older templates

The placeholders used to have German names — {ordner}, {breite}, {hoehe}, {masse}, {datum}, {zeit}, {tenant} and {original-klein}. Those names no longer work. If your stored template still carries one, downloads are named by the default {original} until you correct it, except in projects with a template of their own. The form then shows a message naming the replacement.

What happens to the result

The finished name is shortened if it gets too long, and characters that a filename may not carry are replaced — including ones you typed into the template yourself. Filenames have to work on every operating system.

Where two identical names meet in one archive, the second gets a number (foto.jpg, foto-2.jpg). So no file is ever lost, even where the template produces the same name for several outputs.

The template names outputs only. An original comes back on download under the name it was uploaded with. Project details appear in a filename only where the template names them — they never reach the Content Credentials.

With the default {original}, the original and the signed output made from it share a name stem. If you keep both side by side, add one more placeholder — {original}_{format}, say.