explaingit

rusty4444/gatekeeper-ha

Analysis updated 2026-06-24

30PythonAudience · ops devopsComplexity · 3/5LicenseSetup · moderate

TLDR

Home Assistant add-on that hands a visitor a QR-code link to control selected devices for a limited time, without sharing your account or installing an app.

Mindmap

mindmap
  root((Gatekeeper HA))
    Inputs
      Selected entities
      Token duration
      Guest scope rules
    Outputs
      QR code link
      Guest web page
      Audit of token use
    Use Cases
      Plumber access
      Airbnb guest controls
      Babysitter lights and locks
    Tech Stack
      Python
      HomeAssistant
      LitElement
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Give a plumber a 4-hour link that only unlocks the front door

USE CASE 2

Hand an Airbnb guest a phone-friendly page with lights and thermostat

USE CASE 3

Auto-issue a guest token when the doorbell rings

USE CASE 4

Switch the house into guest mode that revokes tokens when you take over

What is it built with?

PythonHomeAssistantLitElementasyncio

How does it compare?

rusty4444/gatekeeper-hakingbootoshi/goal-ledgerramkumarmn/hub_backend
Stars303030
LanguagePythonPythonPython
Setup difficultymoderateeasyhard
Complexity3/52/54/5
Audienceops devopsdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Needs a working Home Assistant 2025.8+ with HACS and an extra port open for the guest web page.

MIT license: use freely, including commercially, as long as you keep the copyright notice.

In plain English

Gatekeeper HA is an add-on for Home Assistant, an open-source platform that people use to control smart-home devices such as locks, lights, and switches. It solves a common problem: how to let a temporary visitor, such as a plumber, a babysitter, or an Airbnb guest, control a few specific devices without giving them your full house login or asking them to install an app. The owner generates a short-lived link, the guest scans a QR code with their phone, and a simple web page opens with only the controls the owner allowed. The project has two parts. The first is an integration that runs inside Home Assistant and handles the guest tokens, the expiry timer, and a small built-in web server that serves the guest page. The second is a Lovelace card, which is a panel that lives on the Home Assistant dashboard and ships from its own repository. From this card the owner can create tokens with a label like 'Plumber Wednesday', choose which devices the token covers, set a duration, see remaining time, show the QR code, and revoke tokens. Every token is scoped, meaning the guest can only touch the entities and services the owner picked. Tokens expire after a set duration, and the owner can also cap them to a fixed number of uses. There is a separate 'guest mode' switch that turns off selected automations while a visitor is in the house and revokes all tokens when the owner ends the mode. Three ready-made automation blueprints are included: one that creates a four-hour token when the doorbell rings, one that warns the owner when a token is close to expiring, and one that activates guest mode when a specific lock code is entered. Setup is done through the normal Home Assistant settings screen, with no YAML editing. The README explains how to install the integration through HACS, how to add the Lovelace card from its own repo, how to pick the port for the guest page, and how to put the guest page behind a reverse proxy such as Nginx or Caddy. The security section notes that token secrets are stored hashed, scope checks happen on the server, and token IDs are generated from Python's secrets module.

Copy-paste prompts

Prompt 1
Walk me through installing Gatekeeper HA via HACS and adding the Lovelace card on a fresh Home Assistant install
Prompt 2
Help me write a scope rule that lets a guest control lock.front_door and light.hallway but nothing else
Prompt 3
Adapt the doorbell blueprint so it creates an 8-hour token instead of 4 and notifies a specific mobile_app
Prompt 4
Draft an Nginx reverse-proxy config that exposes the Gatekeeper guest page on a subpath with IP allowlisting

Frequently asked questions

What is gatekeeper-ha?

Home Assistant add-on that hands a visitor a QR-code link to control selected devices for a limited time, without sharing your account or installing an app.

What language is gatekeeper-ha written in?

Mainly Python. The stack also includes Python, HomeAssistant, LitElement.

What license does gatekeeper-ha use?

MIT license: use freely, including commercially, as long as you keep the copyright notice.

How hard is gatekeeper-ha to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is gatekeeper-ha for?

Mainly ops devops.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.