Classification markers
1 min
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
