Privacy

Data Masking

Privacy control in Zend Server is achieved by matching the data being stored to a set of rules, defined on this page different tabs. While working on day to day troubleshooting and analysis tasks, private data can be stored on Zend Server backend as part of the information to be analyzed later. There are 3 main components which stores data for analysis, which are Monitoring, Code Tracing and Z-Ray.

Security -> Privacy - Data Masking Rules

To have Data Masking active and configure the different rules, you need to turn on "Enable Data Masking" option.

Let's examine the available tabs and their designation.

To comment out rules or insert placeholder rules, you can use '#' or ';' characters for referring comments in the text box, as first character in the rule line.

Masked Functions

Applies to: Monitor and Code Tracing

This textbox defines functions and methods having ALL THEIR ARGUMENTS being masked. The definitions are complete words or wildcards. Functions can be defined under Classes or Namespaces. When using class as parent, you can even match all methods under that class instead of defining them separately or by wildcards (using * wildcard after the class name)

Masked Identifiers / Keys

Applies to: Monitor, Code Tracing and Z-Ray

This textbox defines named entities which can "live" in your PHP memory and be traced in the above component data. You can use complete words, prefix/suffix and wildcards, to match the keys. Matching is done without case sensitivity (so you don't need to worry about upper/lower case definitions in your masking rules)

The masking of saved data will match the following values:

Global Arrays keys, and SQL bound values (which appears in Z-Ray records if defined in your transactions)

Masked Values

Applies to: Monitor, Code Tracing and Z-Ray

This textbox defines functional data which cannot be defined by specifying the functions (or class / namespace) or they are unknown. This can also be used when the values format is too generic and should be defined by its pattern and not its containers. The masking of saved values will match the following functional data:

Function passed parameters, Function returned values, and values in Exceptions.

---

When Data Masking is active in production, you should never see any performance decrease with many masking rules being matched to live data. The reason is that masking rules are taking place while the collected data records are being saved to the backend, and not while your PHP application is still running.