/screen-privacy-watermark

Introducing Screen Privacy Watermark: A professional desktop solution designed for enterprise privacy needs. Display user information discreetly as a watermark diagonally atop all running applications. Highly customizable with options for fonts, colors, and layout. Tailor it to suit your organization's requirements.

Primary LanguageC#GNU General Public License v3.0GPL-3.0

Screen Privacy Watermark OSS Tool

Overview

The Screen Privacy Watermark OSS Tool is a comprehensive open-source solution designed with the primary purpose of enhancing security and privacy. This tool works by displaying user information in a diagonal format across the screen, ensuring it overlays all active applications.

It allows you to customize the watermark text, font, color, opacity, and other formatting options. The tool supports different data sources such as Entra ID and local sources, and provides various policy configurations to control when and how the watermark is displayed. Additionally, it offers options for caching the watermark text and integrating with Application Insights for monitoring purposes.

Configurations

Source: EntraId

Configuration Type Default Description
Source:EntraId:Enabled true/false true Determines if the Entra ID source is enabled
Source:EntraId:Attributes text Id,DisplayName,UserPrincipalName,Mail,GivenName,Surname Specifies the attributes to be used from the Entra ID

Source: Local

Configuration Type Default Description
Source:Local:Enabled true/false true Determines if the local source is enabled
Source:Local:DateCultures text Specifies the date cultures to be used in the local source

Policies

Configuration Type Default Description
Policy:EvaluationMode Any/All Any Determines the evaluation mode for displaying the watermark. If set to Any, the watermark will be displayed if any of the conditions are met. If set to All, the watermark will be displayed only if all conditions are met
Policy:EntraIdGroups:AllowedGroupsIds text Specifies the Entra ID groups that are allowed to display the watermark
Policy:MacAddress:AllowedMacAddresses text Specifies the MAC addresses that are allowed to display the watermark
Policy:Network:AllowedIPs text Specifies the IP addresses that are allowed to display the watermark
Policy:Network:AllowedCidrs text Specifies the CIDRs that are allowed to display the watermark
Policy:Process:AllowedProcesses text Specifies the processes that are allowed to display the watermark when they have any windows opened and not minimized
Policy:Process:EnableWildcardNames true/false false Determines if wildcard names are enabled for process names

EntraID Application Settings

Configuration Type Default Description
EntraID:ClientId text Specifies the client ID for Entra ID
EntraID:ClientSecret text Specifies the client secret for Entra ID
EntraID:TenantId text Specifies the tenant ID for Entra ID
EntraID:UsePublicClient true/false true Determines if a public client is used for Entra ID authentication. If set to false, a confidential client will be used

Watermark and Format

Configuration Type Default Description
Watermark:ConnectedPattern text {UserPrincipalName} Specifies the watermark pattern for connected/online users
Watermark:DisconnectedPattern text {UserName} Specifies the watermark pattern for disconnected/offline users
Watermark:EnableWatermarkTextCache true/false true Determines if the watermark text cache is enabled when disconnected
Format:FontSize number 16 Specifies the font size of the watermark text
Format:FontName text Segoe UI Specifies the font name of the watermark text
Format:Opacity number 40 Specifies the opacity of the watermark text where 100 is totally transparent and 0 is totally opaque
Format:Color Color Gray Specifies the color of the watermark text
Format:OutlineColor Color Specifies the outline color of the watermark text. If not set, the outline will not be displayed
Format:OutlineWidth number 0.5 Specifies the outline width of the watermark text if outline color is set
Format:UseDynamicsSpacing true/false false Determines if dynamic spacing is used for the watermark text words
Format:LinesCount number 8 Specifies the number of lines of the watermark text on the screen

Application Insights Configuration (Optional)

Configuration Type Default Description
ApplicationInsights:ConnectionString text Specifies the connection string for Application Insights

⚠️ Disclaimer

  • This tool has been developed by an individual(s) employed by Microsoft but is not recognized as an official Microsoft product.
  • It is provided strictly "as is" under the GNU General Public License (GPL), without any warranties or guarantees of any kind, either expressed or implied.
  • There is no official support provided by Microsoft for this tool. The author, acting independently from Microsoft, will endeavor to address reported issues in the repository when available, but there is no obligation to do so.
  • Users are solely responsible for the use of this tool and any modifications made to it. Neither the developer nor Microsoft shall be held liable for any damages, losses, or liabilities arising from the use of this tool, whether direct or indirect.
  • By using this tool, you agree to indemnify and hold harmless the developer and Microsoft from any claims, damages, or losses resulting from its use. Use of this tool constitutes acceptance of these terms.
  • Contributions to this project are welcome, but all contributors are responsible for the content of their contributions and must agree to a Contributor License Agreement (CLA) if one is provided.
  • This project may use third-party libraries or other resources that are subject to their own licenses. You should be aware of these licenses and comply with them.
  • While updates and bug fixes may be released, there is no guarantee of ongoing maintenance or support for this project.
  • By using this tool, you agree to indemnify and hold harmless the developer and Microsoft from any claims, damages, or losses resulting from its use. Use of this tool constitutes acceptance of these terms.