Secluso
secluso.comAn open source, end-to-end encrypted home security camera solution (Pi Zero 2W). Easy to setup with GUI deploy tool. Fully E2EE remote access (live streaming & smart motion alerts) via mobile app and untrusted self-hostable relay.
- Homepage: secluso.com
- GitHub: github.com/secluso/core
- iOS App: apps.apple.com/sg/app/secluso/id6756543429
- Android App: play.google.com/.../com.secluso.mobile
- Web info: web-check.xyz/check/secluso.com
Secluso Source Code
Author
Description
A privacy-preserving Raspberry Pi home security camera that uses advanced end-to-end encryption.
Homepage
https://secluso.comLicense
GPL-3.0
Created
26 Nov 24
Last Updated
30 Jun 26
Latest version
Primary Language
Rust
Size
34,528 KB
Stars
1,590
Forks
46
Watchers
1,590
Language Usage
Star History
Top Contributors
-
@jkaczman (230)
-
@arrdalan (98)
-
@codecoder01 (1)
Recent Commits
-
Ardalan Amiri Sani (30 Jun 26)
(1) Use the server to send messages between apps when adding an app. (2) Support notifications for multiple apps in the server. (#132) This PR provides the functionality needed to support multiple (mobile_client) apps to use one camera. Fixes https://github.com/secluso/mobile_client/issues/50
-
John Kaczman (28 Jun 26)
Move pairing into a module & split logic up into sub-modules. Clean up pairing code. (#123) In preparation for adding BLE logic, worked on making the pairing code easier to work with and more modular. Split some functions up into multiple, fixed some areas that weren't propagating errors, simplified some unnecessary complex logic.
-
John Kaczman (16 Jun 26)
Don't overwrite AppImage magic hex (#112) The deterministic AppImage Deploy Tool build created by the reproducible build release script has an incorrect header that does not conform to the [AppImage Specification Type 2 image format](https://github.com/AppImage/AppImageSpec/blob/74ad9ca2f94bf864a4a0dac1f369dd4f00bd1c28/draft.md). The magic hex needs to match what they've outlined in that specification (and discussed in the below GitHub issue). <img width="453" height="536" alt="Screenshot 2026-06-02 at 4 38 06 PM" src="https://github.com/user-attachments/assets/c98e3792-49a4-40c5-9a77-4bd2bbb56a39" /> The way we emit a deterministic AppImage is via a normal build, and then taking it apart and re-building it back together to be deterministic (introduced in https://github.com/secluso/core/commit/e1c692179ec6333a91312a2231b4b6f4a30ea21f). However, when we were putting it back together, we were overwriting the magic hex that's meant to be in the header with the size of the runtime. Since libappimage is capable of knowing the size of the runtime without us explicitly saying so (as seen below), this is unnecessary and a bug. Removing the overwrite fixes the issue, and correctly maintains the proper magic hex. <img width="617" height="215" alt="Screenshot 2026-06-02 at 4 37 36 PM" src="https://github.com/user-attachments/assets/bd31005e-a3b8-497e-9d38-5054c1e37cc4" /> <img width="600" height="295" alt="Screenshot 2026-06-02 at 4 37 46 PM" src="https://github.com/user-attachments/assets/0b780678-51a5-41c5-958a-894357dd12ce" /> (https://github.com/AppImage/AppImageKit/blob/master/src/runtime.c, https://github.com/AppImageCommunity/libappimage/blob/f8f106b42911aea53e3fa1618e9198b1bbd3bfc9/src/libappimage/utils/ElfFile.h#L16) fixes #111
-
John Kaczman (16 Jun 26)
Adds alternative relay install method; script that user runs on server, doesn't need SSH credentials (#115) Adds a manual alternative install method for users that do not wish to use the Deploy Tool and give ssh credentials. Mirrors what the Deploy Tool does, but does it on the server itself; it does not need an external connection such as SSH. As in, it will take care of everything such as downloading dependencies, setting up services, verifying the signatures from both maintainers, generating credentials, etc. Some areas diverge, such as user credential generation. Instead of using the Rust config_tool code to do this, for simplification purposes, /dev/urandom and [qrencode](https://github.com/fukuchi/libqrencode) are used as command line utilities to avoid having to re-build config tool from scratch (as it's not in the pre-built binary release). The script itself is very intuitive. It's fairly easy to use; the only required parameter is the external URL of the server itself. It guides the user through the installation process, and at the end asks them to confirm with a curated curl command to ensure that their personal machine is able to connect to the server.
-
John Kaczman (16 Jun 26)
Add secluso-toggle lock file to repository (#114) In order to add the secluso-toggle crate to the OS, we must add its lock file to the repository. This is needed to ensure reproducible builds, and [cargo-update-recipe-crates](https://docs.yoctoproject.org/dev/ref-manual/classes.html#cargo-update-recipe-crates) requires it to build the toggle recipe. Therefore, I have added it in this PR.
-
John Kaczman (30 May 26)
GitHub action to double check reproducibility of runtime binaries (#99) * chore: update crate toml and lock files to 1.0.2 * feat(releases): add github workflow to perform reproducibility check of runtime binaries re https://github.com/secluso/core/issues/94 * fix(releases): try ubuntu-24.04-arm to check reproducible binaries in git action * fix(releases): correctly check sha256sum of manifest file * feat(releases): update workflow to use (all, release) target/profile * feat(releases): add release-x64, release-arm64 profiles to support new action * feat(releases): separate arm and x86-64 binary jobs for native runner support * fix: correctly set ubuntu-24.04 in x64 build * feat: emit hash directly in build log * fix: fix spacing issue * fix: hash manifest before changing directories
-
John Kaczman (30 May 26)
GitHub action to double check reproducibility of linux deploy tool (#100) * chore: update crate toml and lock files to 1.0.2 * feat(releases): check reproducibility of linux deploy tool in workflow * fix: remove old mentions of 'binaries' in workflow file * feat: emit hash directly in build log * fix: fix spacing issue
-
John Kaczman (30 May 26)
GitHub action to double check reproducibility of windows deploy tool (#101) * chore: update crate toml and lock files to 1.0.2 * feat(releases): check reproducibility of windows deploy tool in workflow * fix: replace remaining Linux references * feat: emit the hash directly in build log * fix: add missing manifest copy to runner temp dir * fix: hash manifest before changing directories
-
John Kaczman (30 May 26)
Make unsigned macOS deploy tool builds deterministic (#102) * chore: update crate toml and lock files to 1.0.2 * feat(releases): don't ad-hoc sign macOS deploy tool builds * feat(releases): emit sha256 hash of macOS app folder instead of entire artifact * fix: debug overall hash via internal file logs * fix(releases): Remove nondeterministic timestamp path from output that get hashed * fix(releases): use quotes around variable in git action
-
jkaczman (20 May 26)
chore: update short lived windows cert hash
-
jkaczman (18 May 26)
chore: update crate toml and lock files to 1.0.2
-
jkaczman (18 May 26)
chore: update short-lived windows cert hash
-
jkaczman (17 May 26)
chore: bump deploy tool to 1.0.1
-
jkaczman (17 May 26)
fix(update): record both signing key and primary key for verification
-
jkaczman (17 May 26)
fix(releases): point apt at pinned debian snapshot
-
jkaczman (17 May 26)
feat(deploy): image download progress bar; fix listener-attach race
-
jkaczman (17 May 26)
fix(deploy): fix Windows SSH keyfile auth via openssl-on-win32 + hash-pinned prebuilt OpenSSL
-
jkaczman (17 May 26)
chore: update short-lived windows cert hash
-
jkaczman (16 May 26)
fix(releases): ensure libgpg error bundled with libgcrypt
-
jkaczman (16 May 26)
fix(releases): only rename crate_name in camera_hub when names actually differ to avoid self-move
-
jkaczman (16 May 26)
fix(deploy): set default OS repository to secluso/os
-
jkaczman (16 May 26)
fix(update): enforce secluso/os release immutability fix #92
-
jkaczman (16 May 26)
feat(deploy): generate ssh-key for user
-
jkaczman (15 May 26)
feat(server): offer to disable password-based authentication in server
-
jkaczman (14 May 26)
feat(deploy): service_account_key is no longer required when not using FCM fix #82
-
jkaczman (13 May 26)
feat(deploy): pull os image from os/ repository; use signed checksum file from core/ repository
-
jkaczman (13 May 26)
feat(deploy): support custom .wic in developer settings
-
jkaczman (13 May 26)
docs: mention V2 camera module + OV5647/IMX219 in README
-
jkaczman (12 May 26)
feat(camera_hub): detect camera sensor and adapt resolution accordingly
-
jkaczman (11 May 26)
fix(releases): allow zero padding in macOS signature tail verification
Secluso Website
Website
Secluso | Completely Private Security Camera
Secluso is a completely private home security camera with end-to-end encryption, verifiable open software, on-device AI, and an encrypted cloud relay buffer that Secluso cannot decrypt.
Redirects
Does not redirect
Security Checks
All 65 security checks passed
Server Details
- IP Address 99.84.132.67
- Hostname server-99-84-132-67.atl59.r.cloudfront.net
- Location Atlanta, Georgia, United States of America, NA
- ISP Amazon.com Inc.
- ASN AS16509
Associated Countries
-
US
Safety Score
Website marked as safe
100%
Blacklist Check
secluso.com was found on 0 blacklists
- AntiSocial Blacklist
- Artists Against 419
- Badbitcoin
- Bambenek Consulting
- CERT Polska
- CoinBlockerLists
- CRDF
- CryptoScamDB
- EtherAddressLookup
- EtherScamDB
- Fake Website Buster
- MetaMask EthPhishing
- NABP Not Recommended Sites
- OpenPhish
- PetScams
- PhishFeed
- PhishFort
- Phishing.Database
- PhishStats
- PhishTank
- Phishunt
- RPiList Not Serious
- Scam.Directory
- SecureReload Phishing List
- Spam404
- StopGunScams
- Suspicious Hosting IP
- ThreatFox
- ThreatLog
- TweetFeed
- URLhaus
- ViriBack C2 Tracker
Website Preview
Secluso Android App
APK Info
- App Secluso
- Creation Date 25 May 26
- Last Updated 25 May 26
- Current Version 1.0.2
- Privacy Report View on Exodus →
Trackers
No trackers found
Permissions
- Access Fine Location
- Access Network State
- Access Wifi State
- Camera
- Change Network State
- Change Wifi State
- Foreground Service
- Internet
- Nearby Wifi Devices
- Post Notifications
- Read External Storage
- Receive Boot Completed
- Record Audio
- Vibrate
- Wake Lock
- Write External Storage
- Check License
- Receive
- Dynamic Receiver Not Exported Permission
Secluso Reviews
More Security Cameras
⚠️ This section is still a work in progress ⚠️
Check back soon, or help us complete it by submiting a pull request on
GitHub.
Or submit an entry here
About the Data: Secluso
Change History
- Added #599
API
You can access Secluso's data programmatically via our API. Simply make a GET request to:
https://api.awesome-privacy.xyz/v1/services/secluso The REST API is free, no-auth and CORS-enabled. To learn more, view the API Docs or read the API Usage Guide.
Share Secluso
Help your friends compare Security Cameras, and pick
privacy-respecting software and services.
Share Secluso and Awesome Privacy with your network!