Configuration of TSCP-classification in LibreOffice
TDF LibreOffice Document Liberation Project Community Blogs Weblate Nextcloud Redmine Ask LibreOffice Donate
From LibreOffice 6.0 on the process of applying classification in LibreOffice is much more mature and flexible than what was offered in LibreOffice 5.2.
This article provides the necessary information for handling configuration of classification in LibreOffice to your needs. If needed, feel free to look for additional support.
Classification / TSCP-classification
The implementation of classification in LibreOffice is based on the TSCP-project: Transglobal Secure Collaboration Program TSCP). More precise: it is based on the TSCP BAF: Business Authorization Framework (BAFv1 specification). BAF defines how to describes policies for TSCP classification.
The implementation in LibreOffice allows working with classification in probably any organization and environment. Therefore using the term "Classification" as such, is fine.
Classification Policy file: the BAILS-xml file
The Classification Policy file in the LibreOffice installation, provides the available Classifications and Marking and Labelings that are offered to the users in the dialogs.
This policy file is defined in a BAILS-xml file (Business Authorization Identification and Labeling Scheme - BAILSv1 specification), which is composed according to the rules of the TSCP BAF.
This file is read-only for LibreOffice.
Classification policy file in LibreOffice installation
Provided policy file example
The BAILS-xml file that comes with a default LibreOffice-installation, is example.xml.
The default file not only offers basic classification options but starting from LibreOffice 6.3 also a wider range of classifications and markings, to be more illustrative for the potential use cases.
Still it is an example file. Any organization/user can create and use it's own policy.
Name and path of the policy file
Default location of the file is <install-path>/libreoffice/share/classification/
This file be changed in
▸ ▸ ▸ ▸ .Mind: take good notice of the next paragraph about localization.
Of course the policy file and its location can be adapted in a deployment situation to the needs of the organization. Certified LibreOffice professionals can help with that.
Localization of the policy
The dialogs that are used to set the policy of documents and paragraphs, offer a list "Classification" and a list "International" for classifications and optionally a list with markings. The classifications and markings may be localized. Therefore a new file has to be created.
If the name of the policy file is <name>.xml (see #Name_and_path_of_the_policy_file) LibreOffice will look for a file with <name>_<locale>.xml, where <locale> is the LibreOffice locale. So in a version of LibreOffice with locale nl-NL, and a policy file "example.xml" and also a policy file "example_nl-NL.xml", the latter will be used for the list available classifications. The original file "example.xml" is the source for the list International . So for proper functioning, these two have to be in sync.
The example.xml file mentiones which elements/attributes may be localized. Obviously, it makes sense to ensure that (translated) classifications are unique. Notice however file the property loextAbbreviatedName for the identifiers in the policy file. Those have to be unique, to prevent problems with paragraph labeling. The strings loextAbbreviatedName may be localized too.
Mind however, that if a labeled document is then used by someone with a policy file, based on the same international "example.xml" but with different translations for the abbreviations, it doesn't work properly.
Creating a custom (TSCP) Classification policy file
As explained, the (TSCP) Classification policy file and its location can be adapted in a deployment situation to the needs any organization.
When making the policy file for various use cases, it can be considered that certain levels of classification may only be created in certain environments. For example: it does not make sense to offer classification Secret / Internal Only, in an environment where these documents may not be created at all. Or the Staff department, having nothing to do with (international) Intellectual Property, can have e.g. Internal and xxx as available categories.
Some technical notes
The example.xml policy file shows that the policy must be identified by the elements baf:PolicyName and baf:ProgramID.
Also make sure that the properties loextAbbreviatedName for the identifiers in the policy file are unique.
Allowed combinations of classification and markings
From the available classification and markings in a use case, not all possible combinations may be allowed. The BAILS-xml file does not offer a way to enforce these rules. The user is responsible for the proper choices.
For example: for the use case of the Dutch Ministry of Defense, there is a table with an overview of available classifications and markings and the allowed combinations. See at page pg 52/53 of the document "Instructie Defensie Beveiligingsbeleid … D/201".(file name CN: /paragraph-labeling/Rubricering_Markings_matrix.ods)
Matching the policy and the user interface
The dialogs for classification and paragraph classification have various lists, of which the items are loaded from the BAILS-xml TSCP policy file.
- Items in the list Classification are from the elements baf:BusinessAuthorizationCategory Identifier, the Name string
- if a localized policy file (with the LibreOffice locale in its name – see #Localization_of_the_policy) is available, names from that file are used
- Items in the list International are from the elements baf:BusinessAuthorizationCategory Identifier string Name in the primary, not localized name/file
- Items in the list Marking are from the elements loext:Marking Name
- Items in the list Intellectual Property are from the elements loext:IntellectualPropertyPart Name
- Items in the list Part Number are from the elements loext:IntellectualPropertyPartNumber Name
Configuration settings for the user interface
The dialogs for classification and paragraph classification, have extra elements for marking of intellectual property of parts. We cover the two that are configurable.
At the bottom there is a section "Intellectual Property" that can be expanded. The setting done by the user, is remembered. A configuration settings allows to expand or collapse the section by default. This setting can also be locked by the sysadmin (either by a Group Policy file or a configuration extension).
In the "Intellectual Property" section there is a IP input field, that is used to add part numbers. Depending on the configuration, it may be allowed to add free text, or only a restricted set of characters (space, “/”, “;” and delete key).
These configuration options are accessible via Tools > Options > LibreOffice > Advanced .. Expert Configuration. Search for Classification.
ClassificationIntellectualPropertySectionExpandedbooleantrue
ClassificationIntellectualPropertyTextInputIsFreeFormbooleantrue
These can be locked however by admin settings.
Configuration of the policy type
In the current implementation, the default policy type is Intelectual Property.
The policies that TSCP mentiones are Export Control, National Security and Intelectual Property.
Changing this default policy can be done in the configuration too.
This configuration option too is accessible Expert Configuration.
ClassificationPolicyshort3
1 = Export Control, 2 = National Security and 3 = Intelectual Property.
This setting can be locked however by admin settings.
Mind: one document can only have one policy type. Attempts to mix those (changing classification of a file with different policies set), will give false/unexpected results.