Nothing here has an account with anyone. Your hub has a token and it can reach your phone — that is the whole integration, and it works tonight.
That token is the entire record: a one-way address to your phone with no name, email or account attached. Burn it in the app and this hub goes silent — there is nothing else to take back.
This is the half of Lauther that needs nobody's cooperation. The identity side waits for sites to adopt it; a push token works this evening with anything that can make an HTTP request — which is everything you own.
The same page, the technical half. Below is what a real installation actually contains — and on the right, every call this page made, including the ones the simulated phone only pretended to make.
Home Assistant · automations.yaml
- alias: Washing machine finished trigger: - platform: state entity_id: sensor.washer_status to: "finished" action: - service: rest_command.lauther data: title: "Washing machine finished" message: "Cotton 40° · 2h 14m" # configuration.yaml — one block, once rest_command: lauther: url: https://api.lauther.id/v1/push method: POST headers: authorization: !secret lauther_token payload: '{"title":"{{ title }}", "message":"{{ message }}"}'
Or just curl, from anything
curl -X POST https://api.lauther.id/v1/push \ -H "Authorization: Bearer lpt_…" \ -H "Content-Type: application/json" \ -d '{"title":"Freezer warming", "message":"-8 °C","priority":2}' # priority 2 is the only level that bypasses # quiet hours and lands on the urgent channel
Asking a human, not just telling them
curl -X POST https://api.lauther.id/v1/approve \ -H "Authorization: Bearer lpt_…" \ -d '{"title":"Lock the front door?", "message":"Unlocked for 20 minutes", "requireBiometric": true, "wait": 25}' → {"response": "approve"} # blocks up to 25s
requireBiometric means the app will not let the approval through without a real device check. A phone with no lock can still deny — it just cannot approve.
Your token
Pair a phone (or use the simulated one) and it appears here.
In a real installation you would not pair at all — you would create a token in the app (Apps → + → New token) and paste it into Home Assistant. This demo pairs instead so you can try it in one tap. The token is the same thing either way: a bearer credential for exactly one destination — your phone. It cannot read your inbox, cannot see your other pairings, and you can burn it from the app without touching a config file.
Live request log