Available translations: English | Shqip | Deutsch
Shør is an open-source, privacy-first chat platform built for people who want private communication without surveillance defaults.
Private by default. Verifiable by design. Built to resist tampering.
Shør is currently a work in progress.
- UI is coming soon.
- Backend APIs are actively evolving.
Shør is a privacy-focused messaging platform designed around cryptographic identity verification, secure message transport, and encrypted payload storage without taking custody of user private keys.
At a high level:
- Key ownership is proven cryptographically during signup and request authentication. Every authenticated message request requires cryptographic verification.
- Message content is encrypted client-side using locally generated message encryption keys. These keys are wrapped for authorized recipients using their public keys and never exposed to the server. The backend only receives encrypted ciphertext and wrapped key material.
- Each authenticated request is protected with signature verification and nonce-based replay defense.
- The backend is designed to retain minimal sensitive metadata and does not store chat logs or request payload logs.
- A user registers through an invite-based challenge and proves ownership of their cryptographic identity.
- The client establishes a conversation, generates message encryption keys locally, and encrypts message content before transmission.
- Message encryption keys are wrapped for authorized recipients using their public keys.
- The API validates request authenticity and freshness before accepting encrypted data.
- Encrypted payloads and wrapped keys are stored and returned to authorized participants, who decrypt messages using their private keys.
Even in a server-compromise scenario, user private keys remain on endpoint devices and are never uploaded to Shør. Stored messages remain ciphertext, meaning infrastructure operators, or law enforcement/govermental agencies cannot decrypt message contents without access to user-held keys.
- Open source by design.
- Community-auditable security model.
- Built around end-user privacy principles.
- Strong authentication and anti-replay protections.
- Post-quantum signature verification for authenticated requests.
- Designed to run behind your own infrastructure.
- No chat logs stored by the Shør application.
- No request payload logs stored by the Shør application.
- No plaintext IP address storage by the Shør backend.
- No private-key handling by the backend.
Shør is built to minimize retained data and reduce metadata exposure by default.
- Post-quantum ML-DSA signature verification for authenticated requests.
- Nonce and timestamp replay protection with short validity windows.
- Canonical request signing model (
method,path,bodyHash,nonce). - Encrypted message payload storage using client-generated ciphertext and recipient-accessible key wrapping.
- No persistent storage of plaintext or recoverable IP addresses by Shør itself.
- Invite-only onboarding flow.
- Temporary signup challenges and nonces with automatic TTL expiration.
- Backend designed for self-hosted deployments behind your own trusted edge.
Shør is designed to protect against:
- Database compromise.
- Backend server compromise.
- Unauthorized API access.
- Replay attacks.
- Accidental logging of sensitive payloads.
- Traffic analysis against the Shør application infrastructure.
Shør does not protect against:
- Compromised user devices.
- Malware or private key extraction from endpoints.
- Users voluntarily sharing decrypted messages.
- Compromise of trusted client software.
Route-specific rate limiting is not complete yet. Endpoint-level ratelimit metadata exists, but only the global limiter is currently enforced.
Full technical docs, API endpoints, setup instructions, and deployment notes are available in DOCS.md.
Contributions, security reviews, and privacy-focused feedback are welcome while Shør is in active development.
Shør is a play on words, the name is derived from comes from Shor's Algorithm, a quantum algorithm developed by Peter Shor that can efficiently factor large integers and solve the discrete logarithm problem, threatening many of today's widely used public-key cryptographic systems.
While "∅" is the math symbol for an empty set, representing zero trust, and zero logs - a security model where no entity is inherently trusted and every request must be verified, and nothing is logged.
Shør is source-available under the PolyForm Noncommercial License 1.0.0.
Personal, educational, research, and other noncommercial uses are permitted. Commercial use requires separate permission from the copyright holder.