npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@blueharford/scrypted-privacy-manager

v0.0.30-beta

Published

Scrypted plugin for granular camera privacy controls with scheduling, profiles, and Home Assistant integration

Readme

Scrypted Privacy Manager

A Scrypted plugin that provides granular privacy controls for cameras, allowing you to disable recording, events, streaming, and detection on a per-camera basis with time-based scheduling.

Features

Per-Camera Privacy Controls

  • Block Recording: Prevent video from being recorded
  • Block Events: Suppress motion and detection events
  • Block Streaming: Block live video streaming and snapshots
  • Block Detection: Disable object detection processing
  • Block Motion Alerts: Suppress motion detection notifications

Privacy Profiles

Create named profiles that apply settings to groups of cameras:

  • Night Mode: Indoor cameras OFF, outdoor cameras ON
  • Away Mode: All cameras ON
  • Home Mode: Indoor cameras OFF during the day
  • Custom profiles: Create your own

Time-Based Scheduling

Configure automatic privacy based on time:

  • Daily: Apply privacy settings every day
  • Weekdays: Monday through Friday only
  • Weekends: Saturday and Sunday only
  • Custom: Select specific days

Example: Disable indoor camera recording from 8 AM to 10 PM on weekdays.

Panic Mode (Quick Toggle)

One-click button to immediately block ALL cameras:

  • Overrides all settings, schedules, and profiles
  • Exposed as a Home Assistant switch for automation

Home Assistant Integration

All profiles and panic mode are exposed as switches:

  • switch.privacy_panic_mode
  • switch.privacy_night_mode
  • switch.privacy_away_mode
  • etc.

Webhook Notifications

HTTP POST notifications when privacy settings change:

{
  "event": "privacy_changed",
  "timestamp": "2024-01-08T10:30:00Z",
  "camera": "Living Room Camera",
  "cameraId": "abc123",
  "settings": {
    "blockRecording": true,
    "blockEvents": true,
    "blockStreaming": false,
    "blockDetection": true,
    "blockMotionAlerts": true
  },
  "trigger": "schedule"
}

Audit Logging

Track all privacy setting changes:

  • Timestamp
  • Camera affected
  • Previous and new settings
  • Trigger (manual, schedule, profile, panic)

Installation

From NPM

npm install @blueharford/scrypted-privacy-manager

In Scrypted

  1. Go to Plugins in the Scrypted web interface
  2. Click Install Plugin
  3. Search for "Privacy Manager" or paste the NPM package name
  4. Click Install

Configuration

Global Settings

Access via Plugins > Privacy Manager > Settings:

| Setting | Description | |---------|-------------| | Panic Mode | Emergency: Block ALL cameras immediately | | Default Settings | Default privacy settings for new cameras | | Webhook URL | HTTP endpoint for notifications | | Webhook Events | Which events trigger webhooks | | Audit Log Retention | Days to keep audit entries |

Per-Camera Settings

Each camera will have a Privacy Controls section in its settings:

| Setting | Description | |---------|-------------| | Enable Privacy Controls | Master switch for this camera | | Block Recording | Prevent recording | | Block Events | Suppress events | | Block Streaming | Block live video | | Block Detection | Disable object detection | | Block Motion Alerts | Suppress motion alerts | | Enable Schedule | Use time-based automation | | Schedule Type | Daily/Weekdays/Weekends/Custom | | Privacy Start Time | When privacy mode activates | | Privacy End Time | When privacy mode deactivates |

Creating Profiles

  1. Go to Plugins > Privacy Manager
  2. Click Add New Device
  3. Enter a profile name (e.g., "Night Mode")
  4. Configure the profile:
    • Select cameras to include
    • Set which privacy options to apply
  5. Toggle the profile on/off as needed

HTTP API

The plugin exposes HTTP endpoints:

GET /status

Returns current status:

{
  "panicMode": false,
  "profiles": [
    { "id": "profile-123", "name": "Night Mode", "active": true, "cameraCount": 3 }
  ],
  "schedules": {
    "totalSchedules": 5,
    "activeSchedules": 2
  }
}

GET /audit

Returns audit log as JSON.

POST /panic

Enable/disable panic mode:

{ "enabled": true }

Use Cases

Indoor Cameras During Day

Disable recording on indoor cameras while you're home:

  1. Create a profile "Home Mode"
  2. Add all indoor cameras
  3. Enable: Block Recording, Block Events, Block Detection
  4. Set schedule: Daily, 8:00 AM - 10:00 PM

Privacy When Working From Home

Disable office camera during work hours:

  1. Go to office camera settings
  2. Enable schedule
  3. Type: Weekdays
  4. Start: 09:00, End: 17:00

Instant Privacy

Need immediate privacy?

  1. Open Scrypted or Home Assistant
  2. Turn on "Privacy: Panic Mode"
  3. All cameras immediately stop recording/streaming

Development

Building

npm install
npm run build

Local Development

npm run scrypted-deploy-debug

License

Apache-2.0

Author

blueharford

Links