Skip to main content


A Tag is an Annotation without a value; its mere presence indicates some characteristic of the Tagged element.


This is an extension point of the Sysl language, allowing the capture of arbitrary information, especially concepts specific to a domain or organization.


A Tag is a name preceded by a ~ in square brackets following the Tagged element. For example, an Application with the db tag would be written as:

App [~db]:    ...

Standard Tags#

Some Tags have a standard meaning in all Sysl models. They should be used for that purpose, and not for any other. They include:

  • db: The Application is (or sometimes has) a database.
  • human: The Application represents a human user.
  • external: The Application sits outside the organization. This will, for example, force it to the far right of a sequence diagram.
  • pk: Primary Key in a Table.
  • unique: Unique Key in a Table.
  • hex: The Field's value should be interpreted as a hexadecimal string.
  • body: The Endpoint Parameter is expected in the body of the HTTP request.
  • header: The Endpoint Parameter is expected in the header of the HTTP request.
  • cookie: The Endpoint Parameter passed in the Cookie header, such as Cookie: debug=0; csrftoken=BUSe35dohU3O1MZvDCU

See also#