10.45.12.189 UNCLASSIFIED J.Smith_Admin
PRODUCTION READY • WINDOWS WORKSTATIONS & SERVERS

Enforce Mandatory Desktop Classification Markings

NetMark is a zero-dependency, single-file Windows executable that injects a persistent classification banner directly into the Windows shell via native AppBar registration. Maximized windows cannot cover it. Users cannot dismiss it. Deploy to 10,000 endpoints in minutes.

Windows Workstations Windows Servers
0
Classification Presets
0
Dependencies
0
Single File EXE
0
Min to Deploy
10.45.12.189 UNCLASSIFIED J.Smith_Admin
0
% Compliant Endpoints
0
MB Total Footprint
0
External Dependencies
0
Built-in Presets
<2
Sec Network IP Refresh
Interactive Matrix

28+ USA Classification Presets

Click any preset below to instantly retheme the live global banner pinned to the top of this page. This is a 1:1 simulation of the AppBar hook—the same thing happens on your endpoints when the INI file is modified.

UNCLASSIFIED
Standard
UNCLASSIFIED // FOUO
For Official Use Only
UNCLASSIFIED // CUI
CUI Designation
CUI
Controlled Unclassified
CUI // SP-SHI
Sensitive Homeland Info
CUI // SP-HC
Sensitive Health Care
CUI // SP-PR
Sensitive Privacy
CUI // NOFORN
No Foreign Nationals
CONFIDENTIAL
Confidential Level
CONF // NOFORN
Confidential No Foreign
SECRET
Secret Level
SECRET // NOFORN
Secret No Foreign
SECRET // REL FVEY
Releasable to Five Eyes
TOP SECRET
Top Secret Level
TS // NOFORN
TS No Foreign
TOP SECRET // SCI
Sensitive Compartmented
TS // SCI // NOFORN
TS SCI No Foreign
SBU
Sensitive But Unclassified
LES
Law Enforcement Sensitive
ITAR CONTROLLED
Export Controlled
HIPAA PROTECTED
Healthcare Privacy
A-C PRIVILEGED
Legal Privilege
PA USE ONLY
Public Affairs
PROPRIETARY
Contractor Proprietary
System Architecture

Engineered for the Enterprise

NetMark operates at the Windows shell level. It does not draw a floating window on top of the desktop—it registers as a native Application Desktop Toolbar, instructing the OS to reserve physical screen real estate that maximized windows mathematically cannot overlap.

🖥

Native AppBar Registration

Uses the SHAppBarMessage Win32 API to register as a system-level Application Desktop Toolbar. The OS reserves screen space at the top of every monitor. Maximized windows are clamped below the banner automatically.

SHAppBarMessage
🖥

Multi-Monitor PerMonitorV2 DPI

Detects all connected monitors and places a banner on each one. Full PerMonitorV2 DPI awareness means correct rendering on mixed-DPI setups—a 1080p and a 4K monitor side by side, each with natively scaled banners. Multi-monitor RDS configurations are fully supported.

PerMonitorV2
💾

Zero Runtime Dependency

Compiled as a single-file self-contained executable with the .NET 8 runtime embedded. No installer, no prerequisites, no system changes. Drop the ~70 MB EXE on any supported Windows machine and run—no .NET framework installation required on the target.

Self-Contained
🌐

RDP Session Awareness

Listens to WTS Session change notifications and foreground window events. Automatically hides the local banner when a full-screen RDP session is active. On RDS session hosts, detects remote vs. console sessions and shows or hides the banner per-session, preventing layered classification markings from clashing.

WTS Notification

Real-Time Network Telemetry

Subscribes to NetworkAddressChanged events. The %IP_ADDRESS% variable refreshes within 2 seconds of any adapter change—no polling, no CPU waste. Critical for hosts with multiple NICs, VLAN-tagged interfaces, or failover cluster networks.

NetworkAddressChanged
🛡

Click-Through & Non-Interfering

The WS_EX_TRANSPARENT window style ensures all mouse and hit-test events pass through to windows beneath. The banner never steals focus, intercepts clicks, or interferes with application interaction—critical for admin consoles and RDP management windows.

HTTRANSPARENT
🔁

Hot-Reload Configuration

A FileSystemWatcher monitors the INI file. Save a new configuration and every running banner picks up the change instantly—no process restart, no user logoff, no GPO refresh cycle required. Push a new INI to 500 hosts and every banner updates within milliseconds.

FileSystemWatcher
🟠

Screen Edge Borders

Optional colored borders wrap the left, right, and bottom of every monitor. The bottom border queries the taskbar position via ABM_GETTASKBARPOS and positions itself above the taskbar automatically, so the border never overlaps the system tray or pinned apps.

ABM_GETTASKBARPOS
🔒

Single Instance Mutex

A global mutex (Global\NetMarkSingleInstance) prevents duplicate processes. If a second instance is launched, it exits silently. No banner stacking, no resource waste. Works correctly across multiple concurrent RDS sessions—each session gets its own banner instance.

Global Mutex
Data Flow

How NetMark Works

From INI configuration to rendered AppBar in milliseconds. Every component is designed for zero-maintenance continuous operation.

📄

NetMark.ini

Human-readable config. Single source of truth for all settings.

🔍

FileSystemWatcher

Detects INI changes. Triggers hot-reload without restart.

SHAppBarMessage

Registers with OS as AppBar. Reserves screen space per session.

🖥

Rendered Banner

Persistent top-most window. Click-through. DPI-aware. Always visible.

Deployment

Frictionless Enterprise Rollout

Control everything from a single human-readable INI file. Perfect for mass deployment via Microsoft Intune, SCCM, or Group Policy. No MSI installer required—just copy the EXE and INI.

📦 Automated Provisioning

Push the binary to your endpoints and establish persistence via registry. The configuration hot-reloads via FileSystemWatcher—modify the INI file over the network and the banner updates instantly without a process restart.

Deploy-NetMark.ps1
# Define deployment paths $targetDir = "C:\Program Files\NetMark" $exePath = "$targetDir\NetMark.exe" # Create directory and copy payload New-Item -Path $targetDir -ItemType Directory -Force Copy-Item -Path ".\NetMark.exe" -Destination $exePath Copy-Item -Path ".\NetMark.ini" -Destination $targetDir # Establish Auto-Start via Registry Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" ` -Name "NetMark" -Value "`"$exePath`"" # Start the process for the current user session Start-Process -FilePath $exePath

📁 Configuration Reference

The INI file is the single source of truth. Colors support hex codes or ARGB integers. Variables like %COMPUTERNAME% and %USERNAME% are natively resolved. Custom variables go in the [EnvVars] section.

NetMark.ini
[Settings] TextLeft=%IP_ADDRESS% TextCenter=TOP SECRET // SCI TextRight=%USERNAME% BgColor=#ff8c00 FgColor=#000000 FontName=JetBrains Mono FontSize=11 FontBold=True Height=32 BorderEnabled=True BorderSize=5 TextShadow=False BannerShadow=True MarginLeft=25 MarginRight=25 [EnvVars] ; Custom static variables FACILITY_CODE=SCIF-ALPHA-9 DIVISION=CYBER OPERATIONS

📋 Enterprise Deployment Methods

Microsoft Intune

Package as a Win32 app with the EXE and INI. Use NetMark.exe as the install command. Add a registry Run key via PowerShell wrapper for auto-start. Assign to device groups.

SCCM / MECM

Package the EXE + pre-configured INI as an application. Use a detection rule checking for the running process. Target different INI files to different collections for per-group classification levels.

Group Policy (GPO)

Place the EXE + INI on a network share. Use Group Policy Preferences to copy files locally. Add a GPO Run key for auto-start. Different OUs can receive different INI files via item-level targeting.

Scheduled Task (HA)

For high-security environments requiring guaranteed uptime, deploy NetMark via a Scheduled Task with a 1-minute "restart if not running" trigger. If the process is killed, it relaunches within 60 seconds automatically.

RDS Session Hosts

Deploy to RDS session hosts. Each remote session gets its own banner instance via per-session mutex isolation. The console session and each RDP user see their own classification level independently—perfect for multi-tenant RDS farms.

Specifications

Technical Telemetry

Every architectural decision was made with enterprise reliability as the priority. Here is the full specification sheet.

Supported PlatformsWindows 10 / 11 • Windows Server 2016 / 2019 / 2022 / 2025
Architecturex64 (64-bit)
Server RolesRDS Session Host • RDS Gateway • Admin Workstations • Jump Servers
Execution LevelasInvoker (Standard User — No Admin Required)
Runtime Environment.NET 8 Self-Contained (Bundled)
Package Footprint~70 MB Single-File EXE
DependenciesZero
DPI AwarenessPerMonitorV2
Window StylesWS_EX_TOPMOST + WS_EX_LAYERED + WS_EX_TRANSPARENT
Shell HookSHAppBarMessage API
Taskbar QueryABM_GETTASKBARPOS
ConcurrencyGlobal Mutex (Single Instance Per Session)
RDS Session IsolationPer-Session Instance (Each User Gets Own Banner)
Config FormatINI (Human-Readable, GPO-Friendly)
ConfiguratorEmbedded HTML (Browser-Based)
Hot-ReloadFileSystemWatcher on NetMark.ini
RDP DetectionWTS Session Notification + Foreground Window Monitoring
Network IP RefreshNetworkAddressChanged Event (~2s latency)
Multi-MonitorEnumDisplayMonitors + Per-Monitor AppBar
Monitor Hot-PlugAuto-Detect + Window Recreation
Classification Presets28+ USA Government Standard
Deployment MethodsGPO / SCCM / Intune / File Copy / Scheduled Task
DoD 5200.01 Vol. 3
ICD 710
NIST SP 800-53 AC-11
32 CFR Part 2002
FISMA Alignment
DoDI 8500.02
Knowledge Base

System Administrator FAQ

Answers to the most common questions from IT teams evaluating NetMark for production deployment.

No. NetMark runs under standard user context (asInvoker). The Windows AppBar registration API permits standard processes to reserve screen space on their own session. No UAC prompt will ever appear. This is critical for environments where end users do not have local admin rights, and for RDS session host users on shared hosts.
Yes. NetMark is fully supported on Windows Server 2016, 2019, 2022, and 2025, including RDS (Remote Desktop Services) session hosts. Each RDS session gets its own banner instance via per-session mutex isolation—the console session and each concurrent RDP user see their own classification level independently. The global mutex prevents duplicate instances within a single session, while allowing correct per-session operation on multi-user hosts.
Yes. Place a pre-configured NetMark.ini in the same folder as the EXE before launch. NetMark detects the existing INI and skips the configurator auto-open. The HTML configurator is still extracted to disk but is not launched. This is the recommended deployment pattern for production environments.
The UI utilizes the WS_EX_TRANSPARENT extended window style and returns HTTRANSPARENT from WM_NCHITTEST. This instructs the OS compositor to pass all mouse and hit-test events directly to the window beneath. The banner will never accidentally steal focus or intercept clicks meant for applications—critical for admin consoles, Hyper-V managers, and RDP management windows.
NetMark monitors both sides of an RDP session. On the client side (running mstsc), it detects full-screen RDP windows and hides the local banner so the remote host's own classification markings are visible without overlap. On the RDS session host side, it detects remote vs. console sessions via GetSystemMetrics(SM_REMOTESESSION) and WTS session change notifications, showing the banner per-session so each remote user sees the correct classification level.
The banner and reserved screen space disappear immediately, returning the desktop to its normal state. The AppBar registration is cleaned up automatically via ABM_REMOVE on process shutdown. For high-security environments requiring guaranteed uptime, deploy NetMark via a Scheduled Task with a 1-minute restart trigger—if the process is killed, it relaunches within 60 seconds automatically.
Yes. Since each machine has its own NetMark.ini, you can deploy different INI files to different machine groups. For example, deploy a SECRET INI to SCIF hosts, an UNCLASSIFIED INI to general office desktops, and a CUI INI to healthcare application servers. Use SCCM collections, Intune groups, or GPO item-level targeting to control which INI file reaches which endpoint.
Yes. NetMark uses PerMonitorV2 DPI awareness, which means each monitor renders at its native DPI scale. The banner height, font size, and border thickness are all rendered correctly on both 100% and 200% (4K) monitors simultaneously. No blurry text, no mismatched banner heights. Works on multi-monitor desktop setups and RDS session hosts with multi-monitor remote desktop configurations.
Ready to Deploy

Secure Your Endpoints Today

NetMark is a single file, zero dependencies, and production-ready. Copy it to a machine, save your config, and every endpoint—from office desktops to RDS session hosts—is compliant in under five minutes.