Element
element.ioPrivacy-focused messenger using the Matrix protocol. The Element client allows for group chat rooms, media sharing voice and video group calls.
- Homepage:element.io
- GitHub:github.com/element-hq/element-web
- Privacy:element.io/privacy
- iOS App:apps.apple.com/us/app/element-messenger/id1083446067
- Android App:play.google.com/.../im.vector.app
- Web info:web-check.xyz/check/element.io
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
Documents
- Copyright PolicyCreated 04 Jan 21, Last modified 5 years ago
- Cookie PolicyCreated 04 Jan 21, Last modified 5 years ago
- Privacy PolicyCreated 04 Jan 21, Last modified 5 years ago
- Terms of ServiceCreated 04 Jan 21, Last modified 5 years ago
About the Data
This data is kindly provided by tosdr.org. Read full report at: #2498
Element Source Code
Author
Description
A glossy Matrix collaboration client for the web.
Homepage
https://element.ioRepository
- LicenseAGPL-3.0
- Created22 Jul 15
- Primary languageTypeScript
- Size568,132 KB
- Stars13,355
- Forks2,712
- Watchers13,355
Top Contributors
@t3chguy (9045)
@dbkr (7667)
@RiotRobot (5030)
@turt2live (4778)
@ara4n (2875)
@bwindels (2822)
@jryans (2703)
@renovate[bot] (2402)
@SimonBrandner (1836)
@richvdh (1561)
@lukebarnard1 (1336)
@germain-gg (833)
@kegsay (751)
@florianduros (715)
@rxl881 (588)
@szimszon (496)
@s8321414 (473)
@JorikSchellekens (471)
@andybalaam (464)
@luixxiul (436)
@robintown (430)
@Half-Shot (395)
@wmwragg (394)
@poljar (326)
@weeman1337 (307)
@ujdhesa (300)
@jaiwanth-v (270)
@waclaw66 (254)
@Johennes (237)
@MidhunSureshR (235)
@aaronraimist (195)
@foldleft (176)
@novocaine (166)
@krombel (164)
@uhoreg (159)
@osoitz (155)
@david-langley (152)
@aviraldg (151)
@IhorHordiichuk (148)
@Palid (146)
@a22sc (132)
@LinAGKar (130)
@Linerly (130)
@t1011 (129)
@dependabot[bot] (128)
@spantaleev (127)
@RiotTranslateBot (119)
@jaywink (118)
@jelv (117)
@RiotTranslate (114)
@toger5 (107)
@kittykat (103)
@pvagner (100)
@libexus (99)
@psrpinto (90)
@Studinsky (88)
@erikjohnston (86)
@pafcu (83)
@weblate (83)
@tulir (82)
@anoadragon453 (81)
@justjanne (77)
@bamstam (76)
@awesome-michael (73)
@NegativeMjark (71)
@resynth1943 (69)
@dodog (68)
@Glandos (67)
@tjhietala (64)
@MamasLT (62)
@iapellaniz (61)
@rkfg (60)
@rbozhkova (58)
@SongTaeSeop (57)
@MTRNord (56)
@nadonomy (55)
@strixaluco (55)
@AndrewFerr (53)
@langleyd (51)
@artcodespace (48)
@BillCarsonFr (46)
@kenneth-larsson (45)
@ZacksBot (45)
@rbondesson (45)
@xmgz (45)
@krkk (43)
@skolmer (43)
@catborise (42)
@tubitubitubi (42)
@manuroe (41)
@akissinger (39)
@nykula (38)
@exyi (38)
@superdump (37)
@panagiotis-c (37)
@nurjinjafar (37)
@kostich (36)
@dtygel-git (35)
@MadLittleMods (35)
@ysccsyysc (35)
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
US
CA
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
Element Android App
APK Info
- AppElement
- Creation Date04 May 24
- Last Updated14 Jul 24
- Current Version1.6.14
- Privacy ReportView on Exodus →
De-Googled Compatibility
- GrapheneOSNative3.8 / 4(17)
- CalyxOSmicroG3.9 / 4(12)
- LineageOSNative3.8 / 4(4)
- LineageOSmicroG3.8 / 4(4)
- iodeOSmicroG4.0 / 4(2)
- crDroidNative3.5 / 4(2)
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
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
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.
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/elementThe 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!