element-hq / element-hq/element-ios
Secure, isolated Element. 'BundesMessenger'-like, self-build and self-hosted.
- Dominant language
- Swift
- Stars
- 1.8k
- Forks
- 544
- PR merge metrics
- PR metrics pending
Description
### Your use case
#### What would you like to do?
Have the ability to build isolated Element (for both mobile and desktop).
No external services like vector.im. No ability to choose servers (only use predefined one).
App settings are pre-defined and some are force disabled/enabled, to ensure the user won't compromise himself.
Self-hosted / controlled Jitsi or WebRTC. Reproducible builds are done and delivered via personal app stores.
#### Why would you like to do it?
To facilitate secure communication within a single company. Guess it's pretty much what Element did for [BundesMessenger](https://element.io/blog/bundesmessenger-is-a-milestone-in-germanys-ground-breaking-vision/).
#### How would you like to achieve it?
I was thinking of:
- features flags, that could be enabled/disabled at the build time
- clear and up-to-date documentation or automated production builds (the documentation is lacking here)
- app settings provided via config file - like VPN key: user installs the app, tap/click on settings file or scan QR code and have all settings and user/login in the app.
### Have you considered any alternatives?
XMPP-based solutions - luck unified and well-developed clients, calls.
FluffyChat - it feels like a simpler thing, so easier to customize, but it also feels like lacks of development resources.
Closed source messengers are out of sight, as the client and/or server can't be controlled.
### Additional context
_No response_
Contributor guide
Research direction
The issue does not name files, tests, or entry points. Begin by identifying the existing iOS build configuration, app settings, and service integrations, then define the isolated-build scope and acceptance criteria before implementation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ios, swift
- Domain
- mobile, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100