Element X
Active stableElement's next-generation mobile apps for Android (Kotlin/Compose) and iOS (SwiftUI), both on the matrix-rust-sdk.
mobile · licence AGPL-3.0-only OR LicenseRef-Element-Commercial
- Android
- iOS
- Last commit
- today 4 Nov 2026
- Commits, last year
- 4.3k 1.4k in 90 days
- Authors, 90 days
- 41 74 in a year, 132 ever
- Bus factor
- 3 authors making half of last year's commits
- Last release
- 26.10.8release 26 Oct 2026 · 80 tags in a year
- Lines of code
- 490k Kotlin
AI
AI policy
What the project says about AI-made contributions
Restricted (fits the chosen stance)(against the chosen stance)“Contributions are judged on their content, not on how they were produced. AI-assisted contributions are accepted; unreviewed AI output is not. [...] If your PR was made with the help of AI, you must convey that this is the case using the PR template.”
AI in development
Whether the developers use AI tools on the repository
Regular (fits the chosen stance)(against the chosen stance)Collector: 301 of 4.3k commits in the last year credit an AI tool (7.0 %): claude 289, copilot 12. 5 agent files, 0 AI workflows. A lower bound: most AI use leaves no trace.
- CLAUDE.md and AGENTS.md in both repos; .claude/skills in element-x-ios.
- element-x-android: 284 of about 2,830 non-bot commits in the last 365 days (about 10 %) carry an AI co-author trailer, mostly Claude.
- element-x-ios: 19 of about 1,420 (about 1.3 %), Claude and copilot-swe-agent.
- The Android PR template asks AI-assisted PRs to request a Copilot review; the iOS template asks for the model and harness used.
-
AGENTS.md(agents.md, element-x-android) -
CLAUDE.md(claude, element-x-android) -
.claude/(claude, element-x-ios) -
AGENTS.md(agents.md, element-x-ios) -
CLAUDE.md(claude, element-x-ios) - Copilot: 1 commits
- Copilot: 6 commits
-
84b10dfe82026-11-04 claude -
aa7b6bc132026-11-04 claude -
d490edde82026-11-04 claude -
5f50f56a92026-11-03 claude -
3591c62b52026-11-03 claude
AI in the product
Whether the product itself has AI features
None found (fits the chosen stance)(against the chosen stance)Activity
Languages
Apps
| OS | Built with | Status | Minimum OS | Where to get it |
|---|---|---|---|---|
| native | stable | 7.0 | google-play, f-droid |
| native | stable | 18.5 | app-store |
Features
| Feature | Value | How we know | Evidence |
|---|---|---|---|
| SDK | matrix-rust-sdk (FFI bindings: org.matrix.rustcomponents:sdk-android, MatrixRustSDK on iOS) | code | github.com/element-hq/element-x-android/blob/c34 |
| Encryption (E2EE) | Yes: Yes | claimed | github.com/matrix-org/matrix.org/blob/041599b0dc |
| Cross-signing | Yes: Yes | code | github.com/element-hq/element-x-android/blob/c34 |
| Key backup | Yes: Yes Secure backup / recovery key. | code | github.com/element-hq/element-x-android/blob/c34 |
| Sliding sync | Yes: Yes Native MSC4186 simplified sliding sync through matrix-rust-sdk; required. | claimed | github.com/matrix-org/matrix.org/blob/041599b0dc |
| Next-gen auth (OIDC) | Yes: Yes Native OAuth 2.0 / MAS login. | code | github.com/element-hq/element-x-android/blob/c34 |
| Multiple accounts | Partial: Partial Behind the feature flag feature.multi_account (default off); also multiAccountEnabled on iOS. | code | github.com/element-hq/element-x-android/blob/c34 |
| Threads | Partial: Partial Thread timeline behind feature.thread_timeline (default off); matrix.org: partial. | code | github.com/element-hq/element-x-android/blob/c34 |
| Spaces | Yes: Yes | code | github.com/element-hq/element-x-android/blob/c34 |
| 1:1 calls | No: No | claimed | github.com/matrix-org/matrix.org/blob/041599b0dc |
| Group calls | Yes: Yes Element Call (MatrixRTC). | code | github.com/element-hq/element-x-android/blob/c34 |
| Reactions | Yes: Yes | claimed | github.com/matrix-org/matrix.org/blob/041599b0dc |
| Edits | Yes: Yes | code | github.com/element-hq/element-x-android/blob/c34 |
| Replies | Yes: Yes | code | github.com/element-hq/element-x-android/blob/c34 |
| Polls | Yes: Yes | code | github.com/element-hq/element-x-android/blob/c34 |
| Custom emoji | Not found: Not found matrix.org: image_packs unknown. | claimed | github.com/matrix-org/matrix.org/blob/041599b0dc |
| Stickers | Not found: Not found | — | — |
| Location | Yes: Yes | code | github.com/element-hq/element-x-android/blob/c34 |
| Voice messages | Yes: Yes | code | github.com/element-hq/element-x-android/blob/c34 |
| Rich text editor | Yes: Yes Matrix rich text editor (WYSIWYG). | code | github.com/element-hq/element-x-android/blob/c34 |
| URL previews | Not found: Not found | code | github.com/element-hq/element-x-android/blob/c34 |
| Push notifications | Yes: Yes Firebase and UnifiedPush providers on Android, APNs on iOS. | code | github.com/element-hq/element-x-android/blob/c34 |
| Private read receipts | Not found: Not found | — | — |
| Presence | Not found: Not found | — | — |
| Room upgrades | Not found: Not found | — | — |
| Moderation tools | Yes: Yes | code | github.com/element-hq/element-x-android/blob/c34 |
| Accessibility | yes iOS has an AccessibilityTests target. | code | github.com/element-hq/element-x-ios/blob/dc3e477 |
| Translations | yes Localazy; about 40 locales on each platform. | code | github.com/element-hq/element-x-android/blob/c34 |
| Telemetry | opt-in PostHog and Sentry providers; "Nothing is sent to the providers until the user has given their consent". | code | github.com/element-hq/element-x-android/blob/c34 |
| Default homeserver | yes matrix.org (accountProviders default on iOS; Android falls back to matrix.org). | code | github.com/element-hq/element-x-ios/blob/dc3e477 |
| Fork-friendliness | partial Two native codebases (Gradle/Kotlin, Xcode/xcodegen) on prebuilt Rust SDK bindings; AGPL-3.0 or commercial, CLA for contributions. | claimed | github.com/element-hq/element-x-android/blob/c34 |
Health signals
- Bus factor (last year)
- 3
- Issue first response
- not measured (the forge did not give it)
- Release cadence
- 80 tags in the last year, latest release/26.10.8 (26 Oct 2026)
- CI
.github/workflows/build.yml.github/workflows/build_enterprise.yml.github/workflows/fork-pr-notice.yml.github/workflows/accessibility-tests.yml.github/workflows/automatic-calendar-version.yml.github/workflows/blocked.yml- Tests
- test files found
- Security policy
- SECURITY.md
- Licence
- AGPL-3.0-only OR LicenseRef-Element-Commercial
- Funding
- none listed
- Telemetry SDKs in manifests
- Sentry (gradle/libs.versions.toml) · PostHog (gradle/libs.versions.toml) · PostHog (features/call/impl/build.gradle.kts)
Repositories
| Repository | Role | Activity | Last commit | Commits 1y | Authors 90d | Measured at |
|---|---|---|---|---|---|---|
| github.com/element-hq/element-x-android | android | Active | 4 Nov 2026 | 2.9k | 26 | c34418f0f |
| github.com/element-hq/element-x-ios | ios | Active | 4 Nov 2026 | 1.4k | 20 | dc3e47720 |
Notes
matrix.org maturity: Stable. Element's organisation-wide AI policy (element-meta CONTRIBUTING.md, merged 2026-11-02 in https://github.com/element-hq/element-meta/pull/3393) applies to all element-hq repositories and to matrix-org repositories where Element is the core contributor. Both repos' CONTRIBUTING.md also say "We are also fine with AI led contributions within reasonable bounds". Android FOSS builds need Android 7.0 (API 24), enterprise builds API 33.
Researched by an AI agent (Claude) on 5 Nov 2026, not checked by a person; metrics collected on 5 Nov 2026. Source file: data/projects/client/element-x.yaml. Spotted a mistake? Open an issue with a link.