{
  "name": "privacy",
  "kind": "registry",
  "title": "Privacy",
  "description": "Which app is using the camera, the microphone or the screen right now, during a call, a screen share or a recording. A bar item appears only while one is in use.",
  "version": "0.1.0",
  "icon": {
    "tile": {
      "glyph": "󰖠",
      "bg": "amber"
    }
  },
  "author": "pal",
  "spec": "github:zcag/pal/extensions/privacy@v0.9.1",
  "source": "https://github.com/zcag/pal/tree/HEAD/extensions/privacy",
  "commit": "63287e180ce349dac3aa87c68ce4c80bc42ad409",
  "manifest": {
    "name": "privacy",
    "title": "Privacy",
    "description": "Which app is using the camera, the microphone or the screen right now, during a call, a screen share or a recording. A bar item appears only while one is in use.",
    "version": "0.1.0",
    "icon": {
      "tile": {
        "glyph": "󰖠",
        "bg": "amber"
      }
    },
    "author": "pal",
    "repo": "bundled",
    "license": "MIT",
    "store": {
      "tagline": "See which app has your camera, microphone or screen",
      "category": "system",
      "features": [
        "A bar item that shows up only while the camera, microphone or screen is in use, with a mark for each",
        "Names the app behind it, even when a helper or a command started by the app does the recording",
        "Reads the same record as the macOS menu bar's dots, so a Zoom call or a Meet share is named right",
        "Updates within a second of anything turning on or off",
        "`enter` brings the app forward, `s` opens the privacy settings",
        "Type `camera` or `mic` in the search to see who has it"
      ],
      "permissions": [],
      "platforms": [
        "macos",
        "linux"
      ],
      "actions": [
        {
          "title": "Show the app",
          "description": "Brings the app using the sensor forward; a camera with no app opens its privacy settings.",
          "keys": "enter"
        },
        {
          "title": "Open privacy settings",
          "keys": "cmd+,"
        }
      ],
      "screenshots": [
        {
          "file": "1-in-use.png",
          "caption": "One row per app: what it holds and for how long, a screen share and a recording in Terminal included"
        },
        {
          "file": "2-actions.png",
          "caption": "Enter brings the app forward; the privacy settings are a shortcut away"
        },
        {
          "file": "bar-menubar.png",
          "caption": "On the menu bar only while something is in use, a glyph for each sensor: a call holding the camera and the microphone",
          "kind": "bar"
        },
        {
          "file": "bar-menubar-share.png",
          "caption": "A call sharing its screen: all three glyphs",
          "kind": "bar"
        },
        {
          "file": "bar-popover.png",
          "caption": "A click opens the popover: one row per app, what it holds in colour and for how long; Enter brings the app forward",
          "kind": "bar",
          "box": [
            450,
            64,
            840,
            558
          ]
        },
        {
          "file": "bar-popover-share.png",
          "caption": "A call sharing its screen: the screen is named on the app's row too, and a capture by macOS itself reads macOS",
          "kind": "bar",
          "box": [
            438,
            64,
            840,
            558
          ]
        },
        {
          "file": "bar-sketchybar.png",
          "caption": "On sketchybar: the same glyphs on an amber band",
          "kind": "bar"
        }
      ]
    },
    "palettes": {
      "privacy": {
        "title": "Camera, Mic \u0026 Screen",
        "kind": "live",
        "description": "Every app using the camera, the microphone or the screen now, cameras first.",
        "keys": [
          {
            "keys": "enter",
            "title": "Bring the app forward"
          },
          {
            "keys": "cmd+,",
            "title": "Open the sensor's privacy settings"
          }
        ]
      }
    },
    "states": {
      "camera": {
        "description": "A camera is running",
        "kind": "boolean"
      },
      "microphone": {
        "description": "An app is recording from a microphone",
        "kind": "boolean"
      },
      "screen": {
        "description": "An app is sharing or recording the screen, or a Screen Sharing session is attached (macOS)",
        "kind": "boolean"
      }
    },
    "bar": {
      "in-use": {
        "title": "Camera, Mic \u0026 Screen",
        "description": "Off the strip until the camera, the microphone or the screen is in use, then a glyph for each on an amber band, the apps in the tooltip. The popover lists every use; Enter brings the app forward. Re-rendered within a second or two of a change.",
        "keys": [
          {
            "keys": "enter",
            "title": "Bring the focused app forward"
          },
          {
            "keys": "s",
            "title": "Open Privacy \u0026 Security settings"
          },
          {
            "keys": "up, down",
            "title": "Move between the uses; a click on one focuses it"
          }
        ],
        "refresh": {
          "every": 300,
          "on": [
            "privacy",
            "wake"
          ]
        },
        "mocks": {
          "call": {
            "title": "On a call",
            "item": {
              "icon": "󰖠 󰍬",
              "background": "amber",
              "tooltip": "Camera: MacBook Pro Camera · Microphone: zoom.us"
            }
          },
          "mic": {
            "title": "Recording",
            "item": {
              "icon": "󰍬",
              "background": "amber",
              "tooltip": "Microphone: kitty"
            }
          },
          "clear": {
            "title": "Nothing in use",
            "item": {
              "hidden": true,
              "empty": {
                "icon": "󰖠",
                "tooltip": "Nothing is using the camera, the microphone or the screen"
              }
            }
          }
        },
        "rules": [
          {
            "id": "clear",
            "when": "not privacy.camera and not privacy.microphone and not privacy.screen",
            "description": "Nothing in use: off the strip.",
            "hidden": true
          }
        ]
      }
    }
  },
  "playable": false,
  "updated_at": "2026-09-30T01:45:08Z",
  "url": "https://pal.cagdas.io/extensions/privacy",
  "tagline": "See which app has your camera, microphone or screen",
  "category": "system",
  "screenshots": [
    "https://pal.cagdas.io/extensions/privacy/screenshots/1-in-use-dark.png",
    "https://pal.cagdas.io/extensions/privacy/screenshots/1-in-use.png",
    "https://pal.cagdas.io/extensions/privacy/screenshots/2-actions-dark.png",
    "https://pal.cagdas.io/extensions/privacy/screenshots/2-actions.png",
    "https://pal.cagdas.io/extensions/privacy/screenshots/bar-menubar-dark.png",
    "https://pal.cagdas.io/extensions/privacy/screenshots/bar-menubar-share-dark.png",
    "https://pal.cagdas.io/extensions/privacy/screenshots/bar-menubar-share.png",
    "https://pal.cagdas.io/extensions/privacy/screenshots/bar-menubar.png",
    "https://pal.cagdas.io/extensions/privacy/screenshots/bar-popover-dark.png",
    "https://pal.cagdas.io/extensions/privacy/screenshots/bar-popover-share-dark.png",
    "https://pal.cagdas.io/extensions/privacy/screenshots/bar-popover-share.png",
    "https://pal.cagdas.io/extensions/privacy/screenshots/bar-popover.png",
    "https://pal.cagdas.io/extensions/privacy/screenshots/bar-sketchybar-dark.png",
    "https://pal.cagdas.io/extensions/privacy/screenshots/bar-sketchybar.png"
  ],
  "panel_screenshots": [
    "https://pal.cagdas.io/extensions/privacy/screenshots/1-in-use.png",
    "https://pal.cagdas.io/extensions/privacy/screenshots/2-actions.png"
  ],
  "bar_screenshots": [
    "https://pal.cagdas.io/extensions/privacy/screenshots/bar-menubar-share.png",
    "https://pal.cagdas.io/extensions/privacy/screenshots/bar-menubar.png",
    "https://pal.cagdas.io/extensions/privacy/screenshots/bar-popover-share.png",
    "https://pal.cagdas.io/extensions/privacy/screenshots/bar-popover.png",
    "https://pal.cagdas.io/extensions/privacy/screenshots/bar-sketchybar.png"
  ],
  "panel_screenshots_dark": [
    "https://pal.cagdas.io/extensions/privacy/screenshots/1-in-use-dark.png",
    "https://pal.cagdas.io/extensions/privacy/screenshots/2-actions-dark.png"
  ],
  "bar_screenshots_dark": [
    "https://pal.cagdas.io/extensions/privacy/screenshots/bar-menubar-share-dark.png",
    "https://pal.cagdas.io/extensions/privacy/screenshots/bar-menubar-dark.png",
    "https://pal.cagdas.io/extensions/privacy/screenshots/bar-popover-share-dark.png",
    "https://pal.cagdas.io/extensions/privacy/screenshots/bar-popover-dark.png",
    "https://pal.cagdas.io/extensions/privacy/screenshots/bar-sketchybar-dark.png"
  ],
  "has_bar": true,
  "bar_items": [
    {
      "id": "in-use",
      "title": "Camera, Mic \u0026 Screen",
      "description": "Off the strip until the camera, the microphone or the screen is in use, then a glyph for each on an amber band, the apps in the tooltip. The popover lists every use; Enter brings the app forward. Re-rendered within a second or two of a change.",
      "refresh": {
        "every": 300,
        "on": [
          "privacy",
          "wake"
        ]
      },
      "refresh_words": "every 5 min, on wake"
    }
  ],
  "has_links": false,
  "links": [],
  "multi": false,
  "has_readme": true
}
