Masking¶
Edition: Community and Enterprise
The kind a requester declares for each parameter decides how its values are shown to the
business approver, the auditor and the requester after submit. The DBA reviewer sees no value at
all. A masked value never shows the original length: the hidden part is always ****. A value
too short to keep a tail is shown as [hidden]. Separators (space, -, ., /, (, ),
+) are removed first.
| Kind | Shown | Example (fake) | Masked |
|---|---|---|---|
national_id |
last 4 characters | 29001011234567 |
****4567 |
card |
last 4 characters | 4111 1111 1111 1111 |
****1111 |
account |
last 4 characters | EG380019000500000000263180002 |
****0002 |
phone |
last 3 characters | +20 100 123 4567 |
****567 |
email |
first character, ***@, the domain |
nour.hassan@example.com |
n***@example.com |
amount |
shown; hidden when masking.amount: hide is set in sealfix.yaml |
1500.00 |
1500.00 |
text |
hidden | closed at customer request |
[hidden] |
id |
shown | 48213 |
48213 |
code |
shown while it is a code: 1 to 32 ASCII letters, digits, _, - or ., starting with a letter or a digit, with at most 6 digits; anything else is hidden |
suspended |
suspended |
Declare sensitive data with its real kind
id, text, amount and code are weak kinds. Check C8 refuses one bound to a sensitive
column, and check V1 refuses a value of one that looks like customer data. V1 also refuses
a code value that is not a code. Use code for a status, a flag or a reason code that
the business approver must read to judge the change; it is at most suggested, for a
parameter or a column named as a status, a flag or a reason code, and you confirm it. code
is for a value that names no one, never for a person's name or a username: a one-word
name passes as a code. Mark name and username columns sensitive on the target, so that
C8 refuses code on them. C8 then refuses text there as well, and no kind fits a name.