Classification markers

Email classification markers allows secure sharing of Mail and Calendar events with internal and external audience. Configure Email classification marker using the email_security_classification_json key-value pair. To verify if classification is enabled on the Email+ app, go to Settings > Troubleshooting > Email classification markers.

The admin can configure and customize classification rules as required. When you compose a new mail using the Email+ app, select the Classification field to apply classification markers. The device users can set text value, color, alignment, and header or footer labels. You can assign colors to differentiate between field values for easy identification. When a mail with classification is saved as a draft or is stuck in the outbox. The classifications are also saved along with the mail message, you can edit the drafts mail to add or remove classification markers.

The Email classification markers consists of JSON formatted data. The following table describes the generic classification and sample format:

Classification

Value

Sample format

Fields

Array of JSON objects of the classification field configurations.

  • name: The name is a combination of alphabets and numbers. The first letter of the name should be in uppercase.
  • title: The text that is displayed to a user in classification picker. It consists of letters, numbers, and spaces. The default value is equal to name value. (Optional)
  • description: The text displayed in the Classification Picker, to provide users with more information about the Field. The default value is an empty string. (Optional)
  • required: When set to "true" a user is required to select a value for this field Boolean. The default value is set to false. (Optional)
  • onReply: Possible values:
  • UPGRADE_ONLY - allows to upgrade this classification field on email reply.
  • LOCK - prevents from changing this classification field on email reply. (Optional)
  • ANY - allows any change to this classification field on email reply. The default value is set to "ANY". (Optional)
  • allowCustomValue: When "true" a user would be able to add a custom value manually in the picker. Possible only when "onReply" is "ANY". Boolean. The default value is set to false. (Optional)
  • selectionsMaxNumber:When enabled, you can select multiple field values. The default value is set to 1.

"fields":[

{

"name":"SEC",

"type":"text",

"title":"Security Classification",

"description":"",

"onReply":"UPGRADE_ONLY"

},

{

"name":"ACCESS",

"title":"Information Management Marker",

"parent":"SEC",

"required":false,

"onReply":"LOCK"

},

{

"name":"CAVEAT",

"title":"Caveat",

"required":false,

"allowCustomValue":true

}

]

Values

Array of JSON objects of the classification fields values.

  • $Fields.name$: Array on the classification values for the appropriate field. The same field name can be declared multiple times for the unique "parentRange"

  • value: A value to be used for the specific classification marking. Must not contain semi-colons or be comprised of only spaces. Must be declared in the priority order, from the least secure to the most. (Required)
  • title: The text that is displayed as a classification value in the picker. The default value is equal to "value". (Optional)
  • description: The text that is displayed as a description to the specific classification value. The default value is an empty string. (Optional)
  • defaultValue: Classification selected by default on a message compose start. Object of the field-value pairs. The default is an empty field.

  • conditionality: Defines the dependencies between different fields. One field may be dependent just to a single another one.

  • target: defines a parent field and its values in "field":["value_1", ...,"value_n"] format.
  • dependent: defines a child field with a list of values that a user would be shown when any of the "target" fields is selected.

"values":[

{

"SEC":[

{

"value":"UNOFFICIAL",

"title":"Unofficial",

"description":"Non work-related email"

},

{

"value":"OFFICIAL",

"title":"Official",

"description":" Work-related emails that do not carry a security classification"

},

{

"value":"OFFICIAL:Sensitive",

"title":"Official:Sensitive",

"description":"Sensitive but not security classified information"

},

{

"value":"PROTECTED",

"title":"Protected"

},

{

"value":"SECRET",

"title":"Secret"

},

{

"value":"TOP-SECRET",

"title":"Top secret"

},

],

 

},

{

"ACCESS":[{"value":"Personal-Privacy"}, {"value":"Legal-Privilege"}, {"value":"Legislative-Secrecy"}]

},

{

"CAVEAT":[{"value":"SH:CABINET", title:"Cabinet"}, {"value":"REL:AU", title:"Australia"}],

}

],

"defaultValue":{"SEC":"OFFICIAL", "ACCESS":"Personal-Privacy" },

"conditionality":[

{

"targetField":"SEC",

"dependentField":"ACCESS",

"dependencies":[{"targetValues":["OFFICIAL","OFFICIAL:Sensitive","PROTECTED","SECRET","TOP-SECRET"],

"dependentValues":["Personal-Privacy","Legal-Privilege","Legislative-Secrecy"]}]

},

{

"targetField":"SEC",

"dependentField":"CAVEAT",

"dependencies":[{"targetValues":["PROTECTED","SECRET","TOP-SECRET"],"dependentValues":["SH:CABINET","$custom$"]

}

]

},

]

}

SendOptions

JSON object that defines the actions that would be applied to a message while sending and to a new event after creation.

  • xHeader: Object to define the X-Header key and value to be sent with each email.Optional.

  • subjectSuffix: Text to be appended to a classified message subject.

  • bodyHeader and bodyFooter: Formatted text to be appended to the start or the end of a message before an email sending. Optional.

text: text in Special formatting. "\\n" is resolved as a new line within the text.

Required.

color: defines text color in #RRGGBB. Optional, default "#000000".

alignment: defines text alignment with "LEFT"|"CENTER"|"RIGHT" values. Optional, default "LEFT".

style - defines text style in HTML style format. When defined, "color" and "alignment" properties would be ignored.

conditions: allows to modify "bodyHeader" or "bodyFooter" values ("text", "color", "alignment") depending on "when" condition.

when: includes a field name and values. On an email sending with any of these classification values, a property from "result" would override the original "bodyHeader"/"bodyFooter" properties.

  • allowNotClassified: Boolean value that identifies if Email can be sent without classification selected. Boolean. Optional. Default value "false".

"sendOptions": {

"subjectSuffix" : "[(SEC=$SEC.value$){, }(ACCESS=$ACCESS.value$){, }(CAVEAT=$CAVEAT.value$){, }(CAVEAT=$CAVEAT.value_1$){, }(CAVEAT=$CAVEAT.value_2$)]",

"bodyHeader":{

"text":"($CAVEAT.title$: $CAVEAT.value$){, }($CAVEAT.value_1$){, }($CAVEAT.value_2$)",

"color":"#000000",

"alignment":"CENTER",

"conditions":[{"when":{"SEC":["PROTECTED"]},"result":{"color":"#FF0000"}}]

},

"bodyFooter":{

"text":"($CAVEAT.title$: $CAVEAT.value$){, }($CAVEAT.value_1$){, }($CAVEAT.value_2$)",

"color":"#000000",

"alignment":"CENTER",

"conditions":[{"when":{"SEC":["PROTECTED"]},"result":{"color":"#FF0000"}}]

},

"allowNotClassified":true

}

ReceiveMarking

Defines a list of patterns to parse classification from a received message. The order in which the patterns are applied is defined in "priorities".

  • xHeaderPatterns: Rules to parse classification value from the X-Header.The X-Header key is searched by "headerName" values with left-to-right priority. (Optional)

  • subjectSuffixPatterns: Rules to parse classification value from an email subject.

boundaries define the range of characters in the subject to check for the classification. The "rules" are applied to the text starting from the first inclusion of "start" text and the last of "end". Whole subject is checked when not defined. (Optional)

  • priorities: Defines which patterns to fetch classification value. The default value is set to "priorities". ["xHeaderPatterns","subjectSuffixPatterns"]. (Optional)

"receiveMarking": {

"priorities":["xHeaderPatterns","subjectSuffixPatterns"],

"xHeaderPatterns":{ "headerName" : ["X-Protective-Marking", "X-Classification"],

"rules":["SEC=$SEC$", "sec=$SEC$", "SEC:$SEC$", "sec:$SEC$",

"ACCESS=$ACCESS$", "access=$ACCESS$", "ACCESS:$ACCESS$", "access:$ACCESS$",

"CAVEAT=$CAVEAT$", "caveat=$CAVEAT$", "caveat:$CAVEAT$", "caveat:$CAVEAT$"],

"separatorRegex":"[^a-zA-Z\d\-_\s]"

},

"subjectSuffixPatterns":{

"rules":["SEC=$SEC$", "sec=$SEC$", "SEC:$SEC$", "sec:$SEC$",

"ACCESS=$ACCESS$", "access=$ACCESS$", "ACCESS:$ACCESS$", "access:$ACCESS$",

"CAVEAT=$CAVEAT$", "caveat=$CAVEAT$", "caveat:$CAVEAT$", "caveat:$CAVEAT$"],

"boundaries":{"start":"[", "end":"]"},

"separatorRegex":"[^a-zA-Z\\d\\-_\\s:]"

}

},

Version

version value should be defined to differ between JSON schemas. (Required)

classification version: 2.0.0

For more information on JSON samples, see the Email+ 3.14.0 sample files for classifications KB article.