Skip to content
| Marketplace
Sign in
Visual Studio Code>Formatters>PixelHushNew to Visual Studio Code? Get it now.
PixelHush

PixelHush

Daniil Postnov

|
12 installs
| (0) | Free
Hide sensitive values in config files. Auto-detect screen recording with the PixelHush macOS app.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

PixelHush

Hide secrets in config files. Auto-detect screen recording with the PixelHush macOS app.

VS Code Marketplace Open VSX Installs License: MIT

Recording a tutorial? Streaming on Twitch? Sharing your screen on Zoom? PixelHush can auto-detect recording through the macOS app and mask secrets before a single frame is captured. If you do not use the app, manual hide / reveal still works through shortcuts, the status bar, and the context menu.


Features

  • Auto-detect screen recording (Pro) — secrets hide the instant OBS, Loom, Zoom, or any of 50+ apps start capturing (requires the PixelHush macOS app)
  • Manual hide/reveal on any platform — works in VS Code, Cursor, Windsurf, and other VS Code forks even without the macOS app
  • 48 built-in secret patterns — *API_KEY*, *SECRET*, *PASSWORD*, *TOKEN*, *DATABASE_URL*, *SSH_KEY*, *CERTIFICATE*, and 41 more out of the box
  • Stable support for config formats — .env, .env.*, *.env, .envrc, .json, .yaml, .yml, .toml, .properties, .ini, .conf, .sh, .bash
  • Structure-aware parsing — JSON/YAML nested paths, TOML sections, and INI section-prefixed keys
  • Click-to-copy — clicking a hidden value copies it to clipboard without ever revealing it on screen
  • Double-click to edit — double-click any key name (including nested keys like database.password) to update its value via a masked input box (value stays hidden on screen)
  • Edit via keyboard — Cmd+Shift+E opens an input box to modify a hidden value
  • Per-file exclusion — exclude non-sensitive config files with one right-click
  • Selective hiding — hide only keys that match your patterns
  • Status bar control — see current state at a glance, toggle with one click

How It Works

1. PixelHush macOS Agent          2. Signal via flag file          3. VS Code extension
   detects screen recording  ──>     ~/.pixelhush/recording  ──>     masks all secrets
   (ScreenCaptureKit)                (HMAC-signed)                   (Decorator API)

Step 1: The lightweight macOS menu bar agent monitors for recording/sharing apps using Apple's ScreenCaptureKit and window inspection APIs.

Step 2: When recording is detected, the agent writes a cryptographically signed flag file to ~/.pixelhush/recording. When recording stops, the file is removed.

Step 3: The VS Code extension watches for that flag file. Secrets are masked instantly using CSS text-security — your actual files are never modified.

The extension also works standalone without the macOS agent. Use keyboard shortcuts or the status bar to toggle hiding manually.


Supported Recording & Sharing Apps

The macOS agent detects 50+ apps across four categories:

Category Apps
Screen recorders OBS Studio, QuickTime Player, Loom, Screen Studio, ScreenFlow, Camtasia, Snagit, Kap, Cap, Monosnap, ScreenPal, Zight, Movavi, Capto, DemoCreator, Gifox, LICEcap, GIPHY Capture, Ecamm Live, Wirecast, mimoLive, Streamlabs, Screen Sage, Screen Sage Pro
Video calls Zoom, Slack, Microsoft Teams, Webex, GoTo Meeting, Discord, Gather.town, VK Teams, CoScreen, Яндекс Телемост
Remote access Screen Sharing, TeamViewer, AnyDesk, Tuple, Pop, TeleBoss
Browsers (screen share) Google Chrome

Dedicated recording apps (OBS, Loom, QuickTime, etc.) are detected instantly on launch. Video calls and browser-based sharing are detected via window inspection polling.


Supported File Types

Format Extensions Parsing Tier
Environment .env, .env.*, *.env, .envrc Flat KEY=value pairs Free
JSON .json Nested object paths, configurable depth Free
YAML .yaml, .yml Nested keys by indentation, configurable depth Free
TOML .toml Sections and dotted keys Free
Properties / INI .properties, .ini, .conf Flat keys; INI sections become section.key Free
Shell Scripts .sh, .bash Variable assignments Free

Python and JavaScript / TypeScript are intentionally omitted from the public support matrix until the zero-flash protected flow is production-ready for those formats.


Free vs Pro

Feature Free Pro
Manual hide/reveal Yes Yes
Stable config formats (env, json, yaml, toml, properties, sh) Yes Yes
48 built-in secret patterns Yes Yes
Selective mode Yes Yes
Status bar controls Yes Yes
Context menu Yes Yes
Keyboard shortcuts Yes Yes
Click-to-copy hidden values Yes Yes
Double-click to edit (masked input) Yes Yes
Auto-detect screen recording -- Yes
Add / remove key patterns from the UI -- Yes
Video call / browser share detection -- Yes
7-day Pro trial Available Included

See Pricing / Get PixelHush Pro


Keyboard Shortcuts

Action macOS Windows/Linux
Toggle hide/reveal Cmd+Shift+H Ctrl+Shift+H
Toggle value under cursor Cmd+Shift+T Ctrl+Shift+T
Toggle selective mode Cmd+Shift+S Ctrl+Shift+S
Edit hidden value Cmd+Shift+E Ctrl+Shift+E
Copy hidden value Cmd+Shift+C Ctrl+Shift+C

All shortcuts are active only in supported file types.


Configuration

Open Settings (Cmd+,) and search for PixelHush, or add to settings.json:

General

{
  "pixelhush.enabled": true,
  "pixelhush.autoHide": true
}

Appearance

{
  "pixelhush.appearance.textColor": "#D19B66",
  "pixelhush.appearance.backgroundColor": "transparent"
}

File Patterns

{
  "pixelhush.files.patterns": [
    ".env*",
    "*.env",
    "*.json",
    "*.yaml",
    "*.yml",
    "*.toml",
    "*.properties",
    "*.ini",
    "*.conf",
    "*.sh",
    "*.bash"
  ],
  "pixelhush.files.excludedFiles": ["/path/to/public-config.json"]
}

Selective Hiding

When enabled, only keys matching your patterns are hidden (instead of all values):

{
  "pixelhush.selective.enabled": true,
  "pixelhush.selective.keyPatterns": [
    "*API_KEY*", "*SECRET*", "*PASSWORD*", "*TOKEN*",
    "*DATABASE_URL*", "*SSH_KEY*", "*PRIVATE_KEY*"
  ],
  "pixelhush.selective.excludeKeys": ["PUBLIC_URL", "NODE_ENV", "DEBUG"]
}

Pattern syntax:

  • *KEY* -- contains "KEY" anywhere
  • KEY* -- starts with "KEY"
  • *KEY -- ends with "KEY"
  • KEY -- exact match only

All patterns are case-insensitive. For structured formats, the full key path is matched (for example database.password or production.redis.password).

Parsers

{
  "pixelhush.parsers.enabled": ["env", "json", "yaml", "properties", "toml"],
  "pixelhush.parsers.json.nestedDepth": 10,
  "pixelhush.parsers.yaml.nestedDepth": 10
}

Hover

{
  "pixelhush.hover.showPreview": false,
  "pixelhush.hover.message": "Environment value hidden by PixelHush extension"
}

Context Menu

Right-click in any supported file to access the PixelHush submenu:

PixelHush
├── Hide / Reveal Values
├── Toggle This Value
├── Exclude This Key
├── Edit Value
├── Copy Hidden Value
├── Add Key Pattern        (Pro)
├── Toggle Selective Mode
└── Exclude / Include File

FAQ

Does PixelHush modify my files? No. Masking is purely visual using VS Code's Decorator API. Your files remain untouched on disk.

Does it work without the macOS agent? Yes. You can hide/reveal secrets manually with keyboard shortcuts or the status bar toggle. The macOS agent adds automatic detection of screen recording and sharing.

Does it work in Cursor? Yes. The extension is fully compatible with Cursor (and any VS Code fork).

What about Windows and Linux? The VS Code extension works on all platforms for manual hiding. Auto-detection of screen recording currently requires the macOS agent (Windows/Linux agents are planned).

Is my license key safe? License verification happens locally between the macOS agent and the extension via HMAC-signed files in ~/.pixelhush/. No data is sent to external servers during normal operation.

Can I use it during live streaming? Absolutely. That's the primary use case. Secrets are hidden before any frame is captured.

What if I need to edit a hidden value? Two ways: double-click the key name (e.g. API_KEY or nested database.password) — a masked input box opens, value stays hidden while you type. Or use Cmd+Shift+E / right-click > Edit Value — an input box opens with the current value pre-filled.

What if I need to copy a hidden value? Click on it (it copies to clipboard automatically) or use Cmd+Shift+C.


Requirements

  • VS Code 1.96.0+ (or Cursor / any VS Code fork)
  • For auto-detection: PixelHush macOS app (macOS 14+)

Links

  • Website
  • Pricing / Pro
  • VS Code Marketplace
  • Open VSX Registry (Cursor, VSCodium, Gitpod)
  • Chrome Extensions

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft