Element

element.io
Element

Privacy-focused messenger using the Matrix protocol. The Element client allows for group chat rooms, media sharing, voice and video group calls. End-to-end encryption by default for message content, but not metadata, which remains visible to the home server operator.

Security Audited Open Source

Element Privacy Policy

Privacy Policy Summary

  • This service collects your IP address, which can be used to view your approximate location
  • The service provides information about how they intend to use your personal data
  • The service is provided 'as is' and to be used at the users' sole risk
  • This service does not force users into binding arbitration
  • The court of law governing the terms is in a jurisdiction that is less friendly to user privacy protection.
  • Instead of asking directly, this Service will assume your consent merely from your usage.
  • You are solely responsible for claims made against the service and agree to indemnify and hold harmless the service.
  • You can limit how your information is used by third-parties and the service
  • The service has a no refund policy
  • Users should revisit the terms periodically, although in case of material changes, the service will notify
  • This services gives no guarantee regarding quality
  • This service does not condone any ideas contained in its user-generated contents
  • You authorise the service to charge a credit card supplied on re-occurring basis
  • This service does not guarantee that it or the products obtained through it meet the users' expectations or requirements
  • The court of law governing the terms is in location England and Wales
  • You cannot distribute or disclose your account to third parties
  • The service provider makes no warranty regarding uninterrupted, timely, secure or error-free service
  • Users are responsible for any risks, damages, or losses they may incur by downloading materials
  • The service does not guarantee that software errors will be corrected
  • Tracking cookies refused will not limit your ability to use the service
  • Invalidity of any portion of the Terms of Service does not entail invalidity of its remainder
  • Other applicable rules, terms, conditions or guidelines
  • User logs are deleted after a finite period of time
  • Failure to enforce any provision of the Terms of Service does not constitute a waiver of such provision
  • You can request access and deletion of personal data
  • You are responsible for maintaining the security of your account and for the activities on your account
  • This service allows you to retrieve an archive of your data
  • The cookies used by this service do not contain information that would personally identify you
  • Your personal data is used for limited purposes
  • The service provides details about what kinds of personal information they collect
  • Your personal data is aggregated into statistics
  • The user is informed about security practices
  • This service gathers information about you through third parties
  • Third parties are involved in operating the service
  • The service provides a complete list of all cookies set by its website
  • A complaint mechanism is provided for the handling of personal data
  • The service may use device fingerprinting on users.
  • User accounts can be terminated after having been in breach of the terms of service repeatedly
  • User-generated content is encrypted, and this service cannot decrypt it
  • If you are the target of a copyright holder's take down notice, this service gives you the opportunity to defend yourself
  • This service is only available to users over 16 years of age
  • You maintain ownership of your data
  • You must report to the service any unauthorized use of your account or any breach of security
  • The service will only respond to government requests that are reasonable
  • This service assumes no liability for any losses or damages resulting from any matter relating to the service
  • This service provides archives of their Terms of Service so that changes can be viewed over time
  • Provides instructions on how to submit a copyright claim
  • The service can sell or otherwise transfer your personal data as part of a bankruptcy proceeding or other type of financial transaction.
  • This service gives your personal data to third parties involved in its operation
  • The service does not guarantee accuracy or reliability of the information provided
  • Third-party cookies are used for statistics

Score

B

Documents

About the Data

This data is kindly provided by tosdr.org. Read full report at: #2498

Element Source Code

Author

element-hq

Description

A glossy Matrix collaboration client for the web.

#hacktoberfest#matrix

Homepage

https://element.io

Repository

  • LicenseAGPL-3.0
  • Created22 Jul 15
  • Primary languageTypeScript
  • Size627,695 KB
  • Stars13,653
  • Forks2,823
  • Watchers13,653

Language Usage

Language Usage

Project Health

  • Last commit38 minutes ago
  • Open issues3,682
  • Latest releasev1.12.34

Top Contributors

Recent Commits

  • Michael Telatynski(11 Nov 26)

    Element Desktop sign `.dll` & `.node` files (#35776) * Element Desktop sign `.dll` & `.node` files * Skip already signed files * Also explicitly list `.msi` for signing * Move the trust step to avoid double-signing due to untrusted Demo cert in PR runs * Add .dll and .node to artifact verification step

  • Michael Telatynski(11 Nov 26)

    Improve building of pkcs11 (#35782) * Attempt to make pkcs11 built reproducible to make the sign-cache effective for it * Exclude pkcs11 build leftovers & sources from Electron package * Fix msvc envvars

  • David Langley(11 Nov 26)

    Hide discovery settings when UIFeature.identityServer is disabled (#35775) The section moved to the Security tab in #12670 and was gated on UIFeature.thirdPartyId instead, so identityServer: false no longer hid it.

  • David Baker(11 Nov 26)

    More detail on module release process (#35768) * More detail on module release process * sign tags & push specific tag * Add instructions to bump the package.json version * More detail on version bumping Co-authored-by: Michael Telatynski <[email protected]> --------- Co-authored-by: Michael Telatynski <[email protected]>

  • Michael Telatynski(11 Nov 26)

    Fix decoder-ring missing datatypes (#35763)

  • Skye Elliot(11 Nov 26)

    Present confirmation dialogs and toasts when completing recovery key operations (#35553) * feat(web): add a confirmation screen to the recovery setup dialog Co-Authored-By: Claude Fable 5 <[email protected]> * test(web): cover change-key variant of recovery dialog confirmation Co-Authored-By: Claude Fable 5 <[email protected]> * feat(web): add confirmation toast after recovery key flow in settings Co-Authored-By: Claude Fable 5 <[email protected]> * test(web): cover the recovery confirmation toasts in the encryption tab Co-Authored-By: Claude Fable 5 <[email protected]> * test(web): cover the recovery confirmation screen and toasts end-to-end Co-Authored-By: Claude Fable 5.1 <[email protected]> * fix(web): let recovery key toast expire after leaving encryption tab Co-Authored-By: Claude Fable 5.1 <[email protected]> * test(web): cover recovery confirmation toast outliving settings tab Co-Authored-By: Claude Fable 5.1 <[email protected]> * test(web): hide recovery toast while capturing the recovery section Co-Authored-By: Claude Fable 5.1 <[email protected]> * style(web): format recovery test helper to satisfy oxfmt * style(web): move recovery card styles into EncryptionCard modifier * test(web): clarify `confirmationToast` is the expected toast text * docs(web): Correct documentation casing Co-authored-by: Richard van der Hoff <[email protected]> * refactor(web): apply dialog card styling via EncryptionCard prop * refactor(web): rename ConfirmationCard onDoneClick to onFinish --------- Co-authored-by: Claude Fable 5 <[email protected]> Co-authored-by: Richard van der Hoff <[email protected]>

  • Michael Telatynski(11 Nov 26)

    Fix develop CD (#35773) It was relying on a build on macos-14 which is no longer available

  • Johannes Marbach(11 Nov 26)

    Stabilise m.call.intent (#35726)

  • renovate[bot](11 Nov 26)

    Update testcontainers docker digests (#35771) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

  • ElementRobot(11 Nov 26)

    [create-pull-request] automated change (#35772) Co-authored-by: t3chguy <[email protected]>

  • Michael Telatynski(10 Nov 26)

    Load posthog-js lazily (#35750)

  • ElementRobot(10 Nov 26)

    [create-pull-request] automated change (#35764) Co-authored-by: Half-Shot <[email protected]>

  • Michael Telatynski(10 Nov 26)

    Tweaks to squeeze out performance for Playwright runs (#35711) * Playwright tweaks to squeeze out performance 1. Disable video capture in the happy path 2. Disable web server compression * Preload rust crypto WASM if user is logged in * Replace some Playwright waitForTimeout calls with retrying/polling * Avoid double-restarting Synapse in login-consent.spec.ts

  • David Baker(10 Nov 26)

    Document the module release process (#35762) * Document the module release process * Also the actual file

  • Will Hunt(10 Nov 26)

    Remove feature_dynamic_room_predecessors (#35759)

  • Michael Telatynski(10 Nov 26)

    Avoid constructing regexes at parse time (#35748)

  • Michael Telatynski(10 Nov 26)

    Remove dead code/assets (#35754) * Remove dead code/assets * rethemendex

  • ElementRobot(10 Nov 26)

    [create-pull-request] automated change (#35758) Co-authored-by: Half-Shot <[email protected]>

  • Skye Elliot(10 Nov 26)

    Allow exporting keys when key storage is out of sync or the device is unverified (#35707) * fix(web): keep "Export keys" reachable when device state needs attention * test(web): cover advanced panel in out-of-sync and unverified states * test(web): cover advanced panel actions in out-of-sync and unverified states * test(web): update unverified encryption tab screenshot for advanced panel

  • Michael Telatynski(10 Nov 26)

    Avoid baking browserslist/caniuse into the bundle (#35749) Barely any of the data actually ends up being used, and the use can be precomputed. Assisted by Claude

  • renovate[bot](10 Nov 26)

    Update dependency @element-hq/element-call-component to v0.28.2 (#35751) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

  • Will Hunt(10 Nov 26)

    Fix not being able to rejoin an Element Call after reloading (#35723) * Test that the js fix works * fixup comment

  • Michael Telatynski(09 Nov 26)

    Fix nx cache configs (#35745) They included a bunch of files they shouldn't and missed a bunch that were relevant

  • Michael Telatynski(09 Nov 26)

    Lazy load Sentry library (#35715) * Lazy load Sentry library to remove it from the main bundle * Iterate * Improve coverage

  • Will Hunt(09 Nov 26)

    Add module apis for watching for deviceId (#35741) * Add module apis for getting user/device/access token. * Remove getAccessToken from module ClientApi Moving to a separate PR as doAuthenticatedRequest. * Add deviceId to profile

  • Will Hunt(09 Nov 26)

    Bump playwright-common to 7.1.0 (#35732) To pick up Playwright 1.64.0, which would bump the chromium version, which would stop Element Web complaining about unsupported browsers on other projects. Or so I am told :)

  • renovate[bot](09 Nov 26)

    Update playwright to v1.65.0 (#35736) * Update playwright to v1.65.0 * Update snapshots * Update test --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Michael Telatynski <[email protected]>

  • Michael Telatynski(09 Nov 26)

    Open testcontainers & element-call Renovate PRs as non-draft (#35733)

  • renovate[bot](09 Nov 26)

    Update vite (#35742) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

  • renovate[bot](09 Nov 26)

    Update pnpm to v12.18.0 (#35737) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

Element Security

Security Advisories (10)

  • highPatched

    CVE-2026-119407Attacker-induced logout when following a malicious URL – potential loss of browser-storage E2EE keys and digital identity

  • mediumPatchedCVSS 4.6

    GHSA-x2rg-2g77-mx2wLeak of integration manager token when interacting with a malicious message

  • mediumPatched

    GHSA-wqmv-r2qj-2j9pXSS in HTML chat export via unsanitised attachment filenames and MXIDs

  • lowPatched

    GHSA-9r5h-8m2x-w7q6Bundled URL preview links are not sanitized

  • mediumPatched

    CVE-2026-55850A malicious homeserver can inject HTML in Element Web using its homepage

  • mediumPatched

    CVE-2025-59161A malicious room can hide an unrelated room and cause it to be left when the malicious room is left

  • mediumPatched

    CVE-2025-32026Element Web could load a malicious instance of Element Call leaking media encryption keys

  • highPatched

    CVE-2024-51750A malicious homeserver can modify events leading to unrenderable events or rooms

  • lowPatchedCVSS 3.5

    CVE-2024-51749Thumbnails can be abused to misrepresent the content of an attachment

  • highPatched

    CVE-2024-47779 Potential exposure of access token via authenticated media

Element Website

Website

307 Temporary Redirect

Redirects

Redirects to https://element.io/en/

Security Checks

All 65 security checks passed

Server Details

  • IP Address172.66.165.154
  • LocationSan Francisco,California,United States of America,NA
  • ISPCloudFlare Inc.
  • ASNAS13335

Associated Countries

  • USUS
  • CACA

Safety Score

Website marked as safe

100%

Trackers

No known trackers found

Blacklist Check

element.io 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

Website preview

Element Android App

APK Info

De-Googled Compatibility

Native4.00/ 47 ratings
microG3.86/ 414 ratings
  • CalyxOSmicroG3.7 / 4(6)
  • GrapheneOSNative4.0 / 4(4)
  • LineageOSmicroG4.0 / 4(3)
  • Project Infinity XmicroG4.0 / 4(2)

Tested on Android 8–17 · Updated 29 Sept 26 · View on Plexus →

Trackers

  • Sentry

Permissions

  • Access Coarse Location
  • Access Fine Location
  • Access Network State
  • Access Wifi State
  • Camera
  • Foreground Service
  • Internet
  • Modify Audio Settings
  • Post Notifications
  • Record Audio
  • Request Install Packages
  • Use Biometric
  • Use Fingerprint
  • Vibrate
  • Wake Lock
  • Dynamic Receiver Not Exported Permission

Element iOS App

App Info

Element X - Secure Chat & Call

Freedom to communicate on your own terms For individuals and communities - private communication between family, friends, hobby groups, clubs, etc. Element X gives you fast, secure and private instant messaging and video calls built on Matrix, the open standard for real-time communication. This is a free and open-source app maintained at https://github.com/element-hq/element-x-ios Stay in touch with friends, family and communities with: • Real time messaging & video calls • Public rooms for open group communication • Private rooms for closed group communication • Rich messaging features: emoji reactions, replies, polls, pinned messages and more. • Video calling while browsing messages. • Interoperability with other Matrix-based apps such as FluffyChat, Cinny and many more. Privacy-first Unlike some other messengers from Big Tech companies, we don’t mine your data or monitor your communications. Own your conversations Choose where to host your data - from any public server (the largest free server is matrix.org, but there are plenty of others to choose from) to creating your own personal server and hosting it on your own domain. This ability to choose a server is a large part of what differentiates us from other real time communication apps. However you host, you have ownership; it’s your data. You’re not the product. You’re in control. Communicate in real time, all the time Use Element everywhere. Stay in touch wherever you are with fully synchronised message history across all your devices, including on the web at https://app.element.io Element X is our next-generation app If you’re using the previous-generation Element Classic app, it’s time to try Element X! It’s faster, easier to use, and more powerful than the classic app. It’s better in every way and we’re adding new features all the time.

Rating

Rated 3.47 out of 5 stars by 165 users

Version Info

  • Current Version26.10.8
  • Last Updated27 Oct 26
  • First Released06 Jul 23
  • Minimum iOS Version18.5
  • Device Models Supported130

App Details

  • IPA Size341.36 Mb
  • PriceFree (USD)
  • Age Advisory17+
  • Supported Languages39
  • DeveloperVector Creations Limited
  • Bundle IDio.element.elementx

Screenshots

  • App screenshot
  • App screenshot
  • App screenshot
  • App screenshot
  • App screenshot

Element Reviews

More Team Collaboration

  • Self-hostable Slack alternative with native desktop, mobile and web apps, and many integrations. There's no end-to-end encryption, so the server can read all messages, and telemetry is on by default. The open source edition caps at 250 users.

  • Easy-to-deploy, self-hosted Slack alternative with polished cross-platform apps. End-to-end encryption is supported, but off by default - without it, workspace admins can read all messages. Usage statistics are sent by default.

  • A decentralized, encrypted P2P friend-to-friend app for chat, forums, channels, boards, voice calls and anonymous file sharing. Best for trusted contacts, as it isn't anonymous unless you route it through Tor (off by default).

  • Open source team chat organized around topic-based threading, which keeps busy conversations easier to follow than channel-only tools. Can be self-hosted, or used as a paid cloud service. The threading model takes some getting used to.

About the Data: Element

Change History

  • Amended (androidApp, description, icon, iosApp, openSource, securityAudited) by @lissy93 #770
  • Amended (androidApp, iosApp)

Edit Element Data

You can edit Element's entry in this section of awesome-privacy.yml by submitting a PR to our GitHub repo.
Note that some of the information shown above has been aggregated from external sources, a list of these can be found data documentation.

Origin Data

Modify Data

API

You can access Element's data programmatically via our API. Simply make a GET request to:

https://api.awesome-privacy.xyz/v1/services/element

The REST API is free, no-auth and CORS-enabled. To learn more, view the API Docs or read the API Usage Guide.

Share Element

Help your friends compare Team Collaboration, and pick privacy-respecting software and services.
Share Element and Awesome Privacy with your network!