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.

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
  • The service is not responsible for linked or (clearly) quoted content from third-party content providers
  • 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

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
  • Size568,132 KB
  • Stars13,355
  • Forks2,712
  • Watchers13,355

Language Usage

Language Usage

Project Health

  • Last commit2 days ago
  • Open issues3,876
  • Latest releasev1.12.25

Top Contributors

Recent Commits

  • Valere Fedronic(08 Aug 26)

    fix test using private field (#34618) * fix test using private field * review: use readable name

  • Prince Panchani(07 Aug 26)

    Increase Threads panel header height to 64px to match Pinned Message banner (#34566) * Increase Threads panel header height to 64px to match Pinned Messages banner * Add test to verify Threads panel header height matches Pinned Messages banner height * Update Threads panel screenshot to reflect recent design changes

  • Adi-Beker(07 Aug 26)

    fix: align room timeline scrollbar to viewport edge (#33788) * fix: align room timeline scrollbar to viewport edge * update many screenshots * Lots more screenshots * screenshots * Manual screenshot update --------- Co-authored-by: David Baker <[email protected]>

  • hayyaksi(07 Aug 26)

    Let a click on the separator wander a little before it counts as a drag (#34580) The separator has to tell a click apart from a drag, because dragging it also ends in a click, and it did so by treating any pointer movement at all between press and release as a drag. A pointer rarely holds perfectly still, least of all on a trackpad, so clicking the separator to open the room list often did nothing and had to be tried again. Movement is now measured from where the pointer went down and only counts as a drag past a few pixels, which means the handlers need the pointer position and the separator passes its events through to get it. Movement with nothing held down is ignored too: those events fire on hover, and one of them used to spend the click that came after it. Tests: a click that wanders a couple of pixels still opens the panel, as does one that follows moving across the separator, while a real drag is still no click. Co-authored-by: R Midhun Suresh <[email protected]>

  • ElementRobot(07 Aug 26)

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

  • renovate[bot](06 Aug 26)

    Update dependency postcss-nested to v8.0.1 (#34587) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

  • hayyaksi(05 Aug 26)

    Surface an error when a downloaded file can't be opened instead of failing silently (#33998) Pressing "Open" on the download-complete toast called shell.openPath and discarded the result with `void`. openPath resolves to a non-empty error string on failure (an empty string means success), so when the file had been moved or deleted the open silently did nothing and the user saw no response at all (#32273). Await the result and, on a non-empty error, log it and show an error dialog carrying the underlying error as its detail. Co-authored-by: R Midhun Suresh <[email protected]>

  • renovate[bot](05 Aug 26)

    Update npm non-major dependencies (#34446) * Update npm non-major dependencies * Iterate * Iterate * Oxlint & Knip * Oxlint --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Michael Telatynski <[email protected]>

  • renovate[bot](05 Aug 26)

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

  • renovate[bot](05 Aug 26)

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

  • renovate[bot](05 Aug 26)

    Update dependency nx to v23.1.1 (#34530) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

  • renovate[bot](05 Aug 26)

    Update storybook to v10.5.5 (#34440) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

  • hayyaksi(05 Aug 26)

    Keep emoji at code size inside code blocks so line numbers stay aligned (#34497)

  • renovate[bot](05 Aug 26)

    Update dependency eslint-plugin-storybook to v10.5.5 (#34539) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Michael Telatynski <[email protected]>

  • David Baker(05 Aug 26)

    Emoji picker to shared components (#34337) * Exploration of a virtuoso-powered emoji picker moved to shared components Fable generated * fix pnpm lock * format & fix some lint issues * wrong import * fix lint warning * Fix off-by-one and remove manual overflow adjustment: let's leave the default unless it turns out to be necessary. Emoji should not take that long to load. * Convert to functional component * WIP: change to one big virtuoso scroller * Change to use virtuoso's own onRangeChanged and santitise category data and how it's passed around * Convert Tabs to functional component and put the focusing behaviour back with it just keeping track of refs by itself. * Absorb two line config file into main component * Actually add the config to the main file * Convert emoji to functional Also make selected always defined and use useCallback. * QuickReactions to functional component * Non-default exports & doc * Search to functional component * Well it seems to work just fine now * Use ref prop * fix lockfile AGAIN * lint * Remove default export * Remove some mx_ classnames and fix the inputRef to make the arrow keys in the search box work (well, work as much as they ever did). * Remove last of the mx_ id / classnames (except the one in the test) * Use useMemo to memoize * No need to export props interface (I think?) and fix comment now we don't do the mutation stuff anymore * Fix test * Fix axe violations & add screenshots * Avoid comparing dom snapshots in test * Allow more before or after, just compare order of the ones present in both. * Switch existing usages to new emoji picker and kill the old one with fire * Unused stuff * Remove i18n strings * Fix some tests * Update screenshots * Fix test by removing the last of the weird memoized-but-mutated data structure * Move the string somewhere more sensible than 'a11y' * i18n lint * Give the emojis IDs so aria-activedescendant works * Fix more tests * Add a small wrapper emoji picker component This lets us easily memoize the recent emojis when the emoji picker is opened. Also it saves a bit of boilerplate. * Remove old emojipicker css * Typos Co-authored-by: David Langley <[email protected]> * Use compound constants * Rethemendex * Use catalog version for emojibase * Add comments * More comments * Fix comment * More comments * more comments (and make them uniform) * More comments * Fix pnpm lock again * Another comment * Apply button types to new version * Add comment * Disable screenshot as per comment --------- Co-authored-by: Will Hunt <[email protected]> Co-authored-by: David Langley <[email protected]>

  • Michael Telatynski(05 Aug 26)

    Reset matrix-js-sdk back to develop branch

  • Michael Telatynski(05 Aug 26)

    Merge remote-tracking branch 'origin/master' into develop # Conflicts: # pnpm-lock.yaml

  • hayyaksi(05 Aug 26)

    Make permalinks to the same event work more than once (#34483) Co-authored-by: Michael Telatynski <[email protected]>

  • Michael Telatynski(05 Aug 26)

    Fail Electron Builder if missing deps (#34556) * Fail Electron Builder if missing deps * Iterate * Whoops

  • renovate[bot](05 Aug 26)

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

  • R Midhun Suresh(05 Aug 26)

    Remove code to round newSize on resize (#34543) This never actually fixed the issue of the call elements being blurry due to fractional pixels. But it also causes other issues like the max/min width of the left panel never being persisted in settings.

  • Michael Telatynski(05 Aug 26)

    Satisfy pnpm audit (#34568)

  • hayyaksi(05 Aug 26)

    Do not ask for a room address when the room already has one (#34499)

  • renovate[bot](05 Aug 26)

    Update ghcr.io/element-hq/element-web:latest Docker digest to ac50d4e (#34528) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

  • RiotRobot(05 Aug 26)

    v1.12.25

  • hayyaksi(05 Aug 26)

    Show the filename in the audio player title when the event has one (#34479) MAudioBody passed the event body straight to the player, so an audio message sent with a caption showed the caption text instead of the file name. It now uses presentableTextForFile, the same helper m.file and m.image already use. Fixes https://github.com/element-hq/element-web/issues/31116

  • Michael Telatynski(05 Aug 26)

    Stabilise Vitest MatrixChat test (#34555) * Stabilise Vitest MatrixChat test * Ignore post-teardown exceptions in vitest * Iterate

  • renovate[bot](05 Aug 26)

    Update dependency postcss-nested to v8 (#34540) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

  • ElementRobot(05 Aug 26)

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

  • hayyaksi(04 Aug 26)

    Treat an unset profile field as unchanged in collapsed membership summaries (#34493)

Element Security

Security Advisories (6)

  • 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 Address104.20.39.237
  • LocationSan Francisco,California,United States of America,NA
  • ISPCloudFlare Inc.
  • ASNAS13335

Associated Countries

  • USUS
  • CACA

Safety Score

Website marked as safe

100%

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

Native3.74/ 423 ratings
microG3.89/ 419 ratings
  • GrapheneOSNative3.8 / 4(17)
  • CalyxOSmicroG3.9 / 4(12)
  • LineageOSNative3.8 / 4(4)
  • LineageOSmicroG3.8 / 4(4)
  • iodeOSmicroG4.0 / 4(2)
  • crDroidNative3.5 / 4(2)

Tested on Android 12–16 · Updated 13 May 26 · View on Plexus →

Trackers

  • Sentry

Permissions

  • Access Coarse Location
  • Access Fine Location
  • Access Network State
  • Access Wifi State
  • Bluetooth
  • Bluetooth Connect
  • Camera
  • Foreground Service
  • Internet
  • Manage Own Calls
  • Modify Audio Settings
  • Post Notifications
  • Read Calendar
  • Read Contacts
  • Read External Storage
  • Receive Boot Completed
  • Record Audio
  • Request Ignore Battery Optimizations
  • Request Install Packages
  • System Alert Window
  • Use Biometric
  • Use Fingerprint
  • Use Full Screen Intent
  • Vibrate
  • Wake Lock
  • Write Calendar
  • Write External Storage
  • Dynamic Receiver Not Exported Permission

Element iOS App

App Info

Element Classic

Element Classic is the previous-generation of Element mobile app. Friends, family and communities should use the free and open source Element X app which is faster, easier to use, and more powerful. New users of public sector organisations, enterprises and professional teams users should use the Element Pro app that is built for work and organizations. Element Classic is available at least until the end of 2025 and will receive critical security updates but no further enhancements or new features.

Rating

Rated 3.31 out of 5 stars by 575 users

Version Info

  • Current Version1.11.38
  • Last Updated01 Jun 26
  • First Released05 May 16
  • Minimum iOS Version15.1
  • Device Models Supported127

App Details

  • IPA Size170.42 Mb
  • PriceFree (USD)
  • Age Advisory17+
  • Supported Languages45
  • DeveloperVector Creations Limited
  • Bundle IDim.vector.app

Screenshots

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

Element Reviews

More Team Collaboration

  • An IRC-based solution is another option, being decentralized there is no point of failure, and it's easy to self-host. However it's important to keep security in mind while configuring your IRC instance and ensure that channels are properly encrypted - IRC tends to be better for open communications. There's a variety of clients to choose from - popular options include: The Longe (Web-based), HexChat (Linux), Pidgin (Linux), WeeChat (Linux, terminal-based), IceChat (Windows), XChat Aqua (MacOS), Palaver (iOS) and Revolution (Android).

  • Mattermost has an open source edition, which can be self-hosted. It makes a good Slack alternative, with native desktop, mobile and web apps and a wide variety of integrations.

  • Secure group communications, with the option to be used over Tor or I2P. Fast intuitive group and 1-to-1 chats with text and rich media using decentralized chat rooms, with a mail feature for delivering messages to offline contacts. A channels feature makes it possible for members of different teams to stay up-to-date with each other, and to share files. Also includes built-in forums, link aggregations, file sharing and voice and video calling. RetroShare is a bit more complex to use than some alternatives, and the UI is quite retro, so may not be appropriate for a non-technical team.

  • Easy-to-deploy, self-hosted team collaboration platform with stable, feature-rich cross-platform client apps. The UI is fast, good looking and intuitive, so very little technical experience is needed for users of the platform. Rocket.Chat's feature set is similar to Slack's, making it a good replacement for any team looking to have greater control over their data.

  • 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, 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!