explaingit

guardianproject/haven

6,790JavaAudience · generalComplexity · 2/5Setup · moderate

TLDR

An Android app that turns a spare phone into a physical security monitor, using the device camera, microphone, and motion sensors to detect and record unexpected activity in a room, built for journalists and human rights defenders.

Mindmap

mindmap
  root((Haven))
    What it does
      Physical security monitor
      Sensor-based detection
      Local event recording
    Sensors Used
      Camera motion
      Microphone sound
      Accelerometer vibration
      Light sensor
    Alerts
      SMS notifications
      Signal encrypted alerts
    Remote Review
      Tor hidden address
      Orbot required
    Audience
      Journalists
      Human rights defenders
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

Things people build with this

USE CASE 1

Leave a spare phone in your hotel room to detect and record whether anyone entered while you were away

USE CASE 2

Get encrypted Signal alerts when motion, sound, or light changes are detected in a monitored space

USE CASE 3

Review captured photos and audio remotely through a Tor-based private web address without exposing your access

USE CASE 4

Detect whether your laptop or belongings were physically tampered with during travel

Tech stack

JavaAndroid

Getting it running

Difficulty · moderate Time to first run · 30min

Remote review requires installing the separate Orbot app and enabling its Tor service.

No license information found in the explanation.

In plain English

Haven is an Android app that turns a spare phone into a physical security monitor. You leave the phone in a room or near your belongings, and it watches for unexpected activity using the sensors already built into the device: the camera detects motion in the surrounding area, the microphone picks up sounds, the accelerometer registers movement or vibration, the light sensor notices changes in ambient lighting, and the power sensor flags whether the device gets unplugged. When any of these sensors cross a threshold you set, the app records the event and stores it locally on the device. The project was built with a specific audience in mind: investigative journalists, human rights defenders, and people who face risks like forced disappearance or surveillance. The goal described in the README is to give those users a way to detect whether their hotel room, laptop, or personal space was accessed while they were away, without relying on commercial security cameras that send data to third-party servers. Notifications when a sensor is triggered can go out via SMS to a phone number you configure, or via Signal for end-to-end encrypted alerts. A separate feature, requiring installation of the Orbot app, sets up a Tor-based private web address that lets you review the full event log and any captured photos or audio from another device without exposing your access to outside observers. Haven was developed through a collaboration between the Freedom of the Press Foundation and Guardian Project. The source code is open. The app is available through Google Play, through the F-Droid open-source app store, or as a direct APK download from the GitHub releases page. iOS is not supported directly. The README suggests that iPhone users who want similar protection can buy an inexpensive Android phone to run Haven, then have it send Signal notifications to their iPhone when something is detected.

Copy-paste prompts

Prompt 1
I want to use Haven to monitor my hotel room. Walk me through setting up motion detection sensitivity and configuring Signal alerts on the app.
Prompt 2
How do I set up the Tor-based remote review feature in Haven using the Orbot app?
Prompt 3
What sensors does Haven use to detect intrusions, and how do I adjust the trigger threshold for each one?
Prompt 4
Haven can send alerts via SMS or Signal. Show me how to configure it to use Signal for end-to-end encrypted notifications.
Open on GitHub → Explain another repo

← guardianproject on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.