Ente — End-to-End Encrypted Photo Storage & 2FA
Ente provides end-to-end encrypted photo backup and 2FA authenticator. Zero-knowledge architecture — only you can see your data, even Ente cannot access it.
What it is
Ente is an end-to-end encrypted cloud platform with two core products: Ente Photos (a Google Photos alternative) and Ente Auth (a Google Authenticator alternative). The zero-knowledge architecture encrypts all data on your device before upload -- the server never sees your photos or 2FA tokens. Features include cross-platform native apps, on-device AI for face recognition and search, shared albums with maintained encryption, and memory flashbacks. Released under AGPL-3.0.
Ente targets privacy-conscious users who want genuine end-to-end encryption for their photos and 2FA codes, not just at-rest encryption on the server.
How it saves time or tokens
Ente automates photo backup with end-to-end encryption, solving the 'backup vs privacy' dilemma. The 2FA authenticator syncs encrypted TOTP tokens across devices, eliminating the risk of losing 2FA access when a phone breaks. On-device ML provides face recognition and content search without sending data to the server.
How to use
- Clone the repository and run
docker compose up -din the server directory. - Install the Ente Photos app on your phone and point it to your self-hosted server.
- Enable automatic backup; photos are encrypted on-device before upload.
Example
git clone https://github.com/ente-io/ente.git
cd ente/server
docker compose up -d
# Server runs on configured port
# Install Ente Photos app and connect
Related on TokRepo
- AI Tools for Security -- Encryption and security tools
- AI Tools for Self-Hosted -- Privacy-focused self-hosted apps
Common pitfalls
- End-to-end encryption means lost encryption keys result in permanent data loss; back up your recovery key in a secure location.
- Self-hosting requires configuring object storage (S3-compatible) for encrypted photo data; local disk storage works for testing but not production.
- On-device ML features require capable hardware on the client device; older phones may see slow face recognition processing.
Frequently Asked Questions
Zero-knowledge means the Ente server stores only encrypted blobs. Your encryption key is derived from your password on your device and never sent to the server. Even if the server is compromised, attackers get only encrypted data they cannot decrypt. Ente cannot access your photos or 2FA tokens.
Ente Auth provides the same TOTP 2FA functionality with added benefits: end-to-end encrypted cloud sync across devices, import from Google Authenticator and Authy, and continued access even if you lose your phone. Google Authenticator now offers cloud backup but without end-to-end encryption.
Yes. Ente implements cryptographic sharing where album keys are shared securely between users. Shared album participants can view photos without the server being able to decrypt them. The sharing maintains the zero-knowledge guarantee.
Yes. The entire Ente server and client stack is open-source under AGPL-3.0. You can self-host the server with Docker and point the official client apps to your server URL. Self-hosting gives you complete control over data storage location.
Ente provides a recovery key during account setup. This key can decrypt your data if you forget your password. Without either the password or the recovery key, your data is permanently inaccessible due to the end-to-end encryption design.
Citations (3)
- Ente GitHub— Ente provides end-to-end encrypted photo storage and 2FA
- Ente Security Architecture— Zero-knowledge architecture with client-side encryption
- Ente License— AGPL-3.0 open-source license
Related on TokRepo
Source & Thanks
- GitHub: ente-io/ente — 25.9K+ ⭐ | AGPL-3.0
- Website: ente.io
Discussion
Related Assets
DTM — Distributed Transaction Manager for Microservices
A cross-language distributed transaction framework supporting Saga, TCC, XA, and two-phase message patterns for reliable microservice coordination.
WatermelonDB — Reactive Database for React Native Apps
A high-performance reactive database framework for React Native and React web apps, built on top of SQLite with lazy loading and sync primitives.
Dexie.js — Minimalist IndexedDB Wrapper for the Web
A lightweight wrapper around IndexedDB that provides a clean Promise-based API for client-side storage in web applications.