Dawnstar Labs Vardhold Docs

Cryptography and FIPS 140

Vardhold contains no cryptographic implementation of its own. Every hash, key, encryption and signature check is performed by Windows.

2 min readUpdated October 2026Vardhold 0.1 (pre-release)

On this page
  1. Modules used
  2. Uses of cryptography
  3. Data in transit
  4. Operating in FIPS mode

Vardhold is not a validated cryptographic module and does not claim to be one. It relies on the Windows modules below, which Microsoft validates under FIPS 140 for supported Windows builds.

Modules used#

  • Windows CNG for hashing, keyed hashing and random numbers. Vardhold runs on .NET 10, which hands all cryptography to CNG on Windows.
  • DPAPI for keys and credentials at rest.
  • SChannel for TLS, and WinVerifyTrust for signature checks.

Only FIPS-approved algorithms are used: SHA-256, HMAC-SHA256, the Windows DRBG, and AES within DPAPI. Vardhold does not use MD5, SHA-1, DES or RC4.

Uses of cryptography#

PurposeAlgorithmPerformed by
Audit chainHMAC-SHA256, 256-bit per-machine keyCNG
Seals on approvals, alerts, checkpoints, policy versions and the chain headHMAC-SHA256CNG
Audit key generation256 bits from the Windows DRBGCNG
Audit key at restDPAPI, machine scopeDPAPI
Splunk token at restDPAPI, service account scopeDPAPI
API tokens256 bits from the Windows DRBG, compared in constant timeCNG
Agent executable signaturesAuthenticodeWinVerifyTrust
Export to Splunk, syslog over TLSTLS per Windows policy, certificate validation on by defaultSChannel
Vardhold's own code signingAuthenticode, SHA-256 digest, RFC 3161 timestampsigntool

Data in transit#

ChannelProtection
Hook, proxy, tray and dashboard to the serviceLoopback only, token-authenticated, never leaves the machine
Tray to the elevated confirmation windowLocal named pipe restricted to the signed-in user
Splunk HECHTTPS
SyslogTLS (RFC 5425) with the tls protocol; TCP and UDP are unencrypted, for local or trusted collectors only

Operating in FIPS mode#

  1. Enable the Windows policy System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing (Computer Configuration → Windows Settings → Security Settings → Local Policies → Security Options) and restart.
  2. Keep TLS certificate validation on for every export.
  3. Encrypt the system drive with BitLocker. The audit database relies on folder permissions and disk encryption for confidentiality; the audit chain provides integrity.

Operation with the Windows FIPS policy enabled is expected to work, because Vardhold uses only approved algorithms through Windows modules, but it has not yet been tested end to end. Include it in your acceptance testing.