# MeshVote — Full Site Content > Peer-to-peer voting app for large in-person gatherings. No internet required. This file concatenates the full text of every public MeshVote page for LLM / agent consumption. Site: https://meshvote.com --- # MeshVote > Source: https://meshvote.com/ Peer-to-peer voting — No internet required. Run live polls for thousands of people using just Bluetooth — no Wi-Fi, no servers, no sign-up required. Create a group, share a QR code, and start voting. ## Features - **BLE Mesh Networking** — Devices form an ad-hoc Bluetooth mesh — no Wi-Fi, no cell signal, no server required. - **Ed25519 Signatures** — Every vote is cryptographically signed so results are tamper-proof and verifiable. - **Gossip Sync** — Golomb-coded set reconciliation ensures every device converges on the same state. - **QR Code Invites** — Create a group and share a QR code — scan to join, or save the QR to share via email or text message. No accounts required. - **Real-Time Tallies** — Admins see live results as votes propagate across the mesh — plus live turnout, the share of the room that has voted. - **Write-In Votes** — Allow open-ended responses alongside predefined poll options. - **Export Poll Results** — Download results as a spreadsheet when voting ends — ready for reports, records, or follow-up. - **Bulk Import** — Import polls from Excel, CSV, or JSON files. Download a template, fill it in, and import dozens of polls at once. - **Group Chat** — Coordinate in real time with built-in group messaging — no separate app needed. - **Geofencing** — Restrict voting to members within a geographic boundary you define - **Push Notifications** — Get alerted the moment a poll opens or a chat message arrives — even when the app is closed. - **Network Sync** — An encrypted cloud relay runs alongside the Bluetooth mesh — late joiners catch up instantly, and votes propagate even across isolated segments. ## How it works - **Create** — Admin creates a group and generates a QR code. - **Join** — Members scan the QR code to join. No account required. - **Vote** — Cast your vote. Results propagate through the mesh in real-time. ## Ready to vote? Download MeshVote and run your first poll in 60 seconds. Available on iOS, Android, and macOS. Built by Magnalia Foundation, a 501(c)(3) nonprofit. Full walkthrough: https://meshvote.com/how-it-works --- # How MeshVote Works > Source: https://meshvote.com/how-it-works ## What Is MeshVote? MeshVote is a mobile voting application designed for large in-person gatherings like conferences, assemblies, and conventions. Members vote on their own smartphones, and results appear in real time — no paper ballots to count, no show of hands to estimate, and no internet connection required. The app works by forming a wireless network between the phones in the room using Bluetooth. When a member casts a vote, it passes from phone to phone until every device in the venue has received it. There is no central server collecting votes — the assembly itself is the network. ## How Does It Work? **1. Setup.** Before the assembly convenes, an administrator creates a group in MeshVote. Polls can be prepared in advance individually, or imported in bulk from an Excel spreadsheet. Members join by scanning a QR code displayed on a screen or printed handout. **2. A motion comes to the floor.** When the body is ready to vote — say, on a motion to approve a committee report — the administrator creates a poll in the app with the question and options (e.g., "Approve" / "Do Not Approve"). An abstain option can be included if your rules of order call for it. **3. The poll opens.** The administrator opens the poll, and it appears on every member's phone within seconds. Members tap their choice. **4. Votes spread through the room.** Each vote travels from phone to phone via Bluetooth. Even members seated far from the administrator receive the poll and can cast their vote — other phones in between relay the information automatically. **5. The poll closes.** When voting is complete, the administrator taps "Close Poll." The final tally is calculated, locked, and distributed to every device. The result is official. **6. The body moves on.** The next motion, election, or question is handled the same way. Pending polls can be prepared in advance and opened when the time comes. For elections — say, choosing a new chairperson — the administrator lists the nominees as options. If your rules allow nominations from the floor, MeshVote supports write-in votes as well. ## How Votes Travel Between Devices MeshVote uses Bluetooth — the same technology that connects your phone to a wireless speaker or car stereo — to create a temporary network among the devices in the room. Every phone running the app acts as both a sender and a receiver. When a member casts a vote, their phone passes it to the nearby phones it can reach. Those phones, in turn, pass it along to their neighbors. Within moments, the vote has traveled across the entire venue, hopping from device to device like a message passed down a row of seats. - **No Wi-Fi or internet is needed. The assembly's own phones form the network.** - **The network grows with the assembly. More members means more devices relaying information, which actually strengthens coverage in a large venue.** - **There is no single point of failure. If any one phone is turned off or loses battery, the rest of the network continues without interruption.** The system is designed to handle assemblies of thousands. Votes propagate efficiently — the app uses a smart relay protocol that avoids flooding the network with duplicate messages while ensuring every device receives every vote. For very large venues or spaces with gaps in seating, MeshVote supports a dedicated relay mode. An Android device placed between clusters of members can run as a continuous relay — rebroadcasting every message it receives without participating in voting. This extends the effective range of the mesh to cover auditoriums, convention halls, or multi-room setups. ## Two Transports, One Network Every group runs on the BLE mesh: phones broadcast signed snapshots and individual vote envelopes that propagate via gossip. By default, MeshVote also relays events through encrypted cloud storage in parallel — Network Sync. Both transports race to update each device's local copy. Whichever message arrives first is applied; per-field hybrid logical clocks keep concurrent edits consistent. The cloud relay gives late joiners instant catch-up and a fallback path for segments of devices that can't reach each other over Bluetooth. Network Sync is set when the group is created — once chosen, that setting can't be changed for that group, so admins decide upfront whether the group needs cloud catch-up or fully offline operation. Bluetooth Sync is more flexible: in groups running Network Sync, admins can switch the Bluetooth transport off or back on at any time, and the app enforces that a group always keeps at least one transport. Either way, votes are end-to-end Ed25519-signed and tamper-evident — the transport doesn't change the security model. Cloud-stored events are encrypted with the group's invite key, which is never sent to our servers, and voter identities are hashed before storage so they can't be enumerated. ## Security & Integrity ### Every vote is digitally signed When MeshVote is first installed on a phone, it generates a unique cryptographic key — think of it as a tamper-proof wax seal that only that device can produce. Every vote cast from that phone is stamped with this seal before it is sent out. When other devices receive the vote, they verify the seal automatically. If a vote has been altered in transit — even by a single character — the seal will not match, and the vote is rejected. ### Encrypted cloud relay, end-to-end keys Votes always live on the phones of members in the room — distributed across the assembly, not concentrated in one place. By default, MeshVote also relays events through encrypted cloud storage so members joining mid-session catch up instantly. Events are end-to-end encrypted with your group's invite key, which is never sent to our servers — the cloud relay only sees ciphertext. Voter identities are hashed before storage so they can't be enumerated. For assemblies that prefer maximum isolation, admins can create groups with Network Sync off — those groups run pure BLE. ### One vote per device, enforced automatically The system allows exactly one vote per device on each poll. If a member changes their mind before the poll closes, their new vote replaces the old one — it does not add a second. This is enforced at every device that receives the vote, not just the device that cast it. ### Results are final once the poll closes When the administrator closes a poll, the final tally is calculated, sealed, and distributed to every device in the room. After that moment, no new votes for that poll are accepted. Late-arriving votes that were cast after the close are automatically rejected based on their timestamp. The result is locked. ### Minimal remote attack surface Groups created with Network Sync off have no remote attack surface at all — the entire voting process happens over short-range Bluetooth with no internet connection. Default-mode groups use the encrypted cloud relay, but the relay sees only ciphertext: it can't read votes, can't forge signatures, and can't enumerate voter identities (which are hashed). Admins choose at group creation. ### Optional geographic boundary enforcement For assemblies that require physical presence verification, MeshVote supports geofencing. The administrator defines a geographic boundary on an interactive map, and the system enforces it at voting time — a member outside the boundary cannot cast a vote. This ensures that only credentialed members physically present at the assembly can participate. ## Transparency & Accountability MeshVote is designed around a principle of accountability: every vote can be traced back to the device that cast it. Each device has a unique cryptographic identity — not a person's name, but a verifiable key that proves "this specific device cast this specific vote." - Votes are verifiable. If a question arises about whether a vote was properly counted, the record can be audited. Every vote carries its device's signature and timestamp. - Votes are tamper-evident. Any attempt to alter, add, or remove votes after the fact would break the cryptographic chain and be immediately detectable. - The tally is reproducible. Any device in the room can independently verify the final count by examining the signed votes it received. - Results are exportable. Polls can be exported to plaintext, CSV, JSON, or Excel for permanent records, minutes, and external audits. This is similar in spirit to a roll-call vote, where each member's position is a matter of record. For many organizations, this level of transparency is a feature — it ensures that members are accountable to the groups they represent for the positions they take. ## Who Controls What? ### Administrator The administrator is the person responsible for managing the voting process — typically a designated organizer, secretary, or chairperson — and a group can have more than one. Admins prepare and open polls when the body is ready to vote, close polls when voting is complete, and approve or deny member join requests if your organization uses credentialing; any online admin can approve, and any admin can edit the group's settings — name, icon, announcement, features, and geofence. Admins can post a standing announcement that members see once per update, and in groups with Network Sync they get a live device roster — every admin and member device in the group — plus live turnout percentages on every poll. To add an admin, share an admin invite: an existing member who scans it is promoted in place. The administrator can also use presenter mode to display live results on a projector or large screen. Admins have no special ability to alter votes or manipulate results — the role is procedural, not privileged. ### Member Every member who joins the group is a member. Members cast votes on open polls, see results after a poll is closed, participate in group chat, and passively relay votes from other devices (this happens automatically — no action needed). When the group uses reusable invites, members can open and share the group's invite QR themselves — handy when the person at the door isn't an admin. A member's phone continues to relay votes even if the member has already voted, ensuring coverage across the venue. And an existing member can become an administrator by scanning an admin invite — they're promoted in place, no rejoin required. ## How Members Join MeshVote supports two distinct join workflows. Admins choose per group — at creation or later in group settings — with reusable invites available on Rally and Enterprise plans. ### One-time invite The administrator generates a fresh QR code with an embedded nonce; members scan and the admin approves or denies each request. The QR can be saved to share via email or text message. The QR code expires when the admin closes the invite screen. Best for assemblies that need a credentialed roster. ### Reusable member invite A permanent QR code that anyone can scan — and that any member of the group can open and share from their own device, not just admins. Two sub-modes: approval-required (Rally tier — each request is approved by whichever group admin is online, not just the invite's creator, and the approval is signed with the group admin key so the joiner can verify it) and instant (Enterprise tier — members join immediately, no approval needed). The QR code embeds the group metadata so joiners can bootstrap fully offline. Both modes use the same end-to-end cryptography: the group's signing key is exchanged via the QR code, and member devices generate their own Ed25519 identity on first join. Join approvals and rejections are themselves signed with the group admin key, so a response can't be forged by a bystander. No password, no central credential server. ## Communication During Sessions MeshVote includes a built-in group chat that uses the same Bluetooth mesh network as votes. Messages travel from device to device with no internet connection and no server storage — they exist only on the devices in the room during the session. Administrator messages are visually distinguished with a badge, so members can easily identify official communications. The group administrator can optionally require registration to participate in chat, providing an additional layer of accountability while keeping voting open to all. ## Notifications When a group runs with Network Sync, MeshVote sends a push notification to every member the moment a poll opens or a chat message is sent. The notification carries the encrypted poll question or chat preview, which the app decrypts on-device using your group's invite key — the plaintext never touches our servers. Tapping a notification opens the relevant poll sheet or chat view. The server deduplicates by sender so you don't get notified for your own activity, and group mute settings are respected. Fully offline groups (Network Sync off) never reach our infrastructure — so instead of server push, the app raises the notification locally the moment a new poll or chat message arrives over Bluetooth. The same per-group mute applies, you're never notified twice when both transports deliver the same event, and banners are suppressed for the group you're actively viewing. ## What You Need - Devices with Bluetooth. Each member needs a phone (iPhone or Android) or Mac with Bluetooth turned on. No special hardware is required. - The MeshVote app installed. Members download the app before the assembly. It can be installed on-site as well — no internet is needed after installation. - One administrator device. The designated administrator uses the app to create and manage the group and polls. - A way to share the group invite. Typically a QR code displayed on a large screen or printed on handouts. Members scan the code to join. No Wi-Fi, no internet connection, no projector system, and no special venue infrastructure is required. If your members have phones and Bluetooth, you are ready. ## Frequently Asked Questions **Can someone vote twice?** No. The system enforces one vote per device per poll. If a member taps a different option, their previous vote is replaced — not duplicated. This rule is enforced by every device in the mesh, not just the one casting the vote. **What if someone's phone dies mid-vote?** Any votes they cast before the phone died have already been relayed to other devices in the room. Those votes are counted normally. The member simply will not be able to vote on subsequent polls unless their phone is restored. **Can votes be changed or deleted after a poll closes?** No. Every vote is cryptographically signed with a timestamp. Once a poll is closed, the final tally is sealed and distributed. Votes that arrive with timestamps after the close are automatically rejected. The result cannot be retroactively altered. **Does this work in a large venue?** Yes. MeshVote is designed for assemblies of thousands. In a large venue, the phones of members seated throughout the space act as relays, extending coverage automatically. More people actually means better coverage — the mesh strengthens as it grows. For multi-room venues, large halls with Bluetooth coverage gaps, or assemblies where members trickle in over the course of the meeting, Network Sync (on by default) adds an encrypted cloud relay alongside the Bluetooth mesh so every device stays in sync. **Is our voting data stored in the cloud?** It depends on the group's setting. **Network Sync (default):** votes propagate over both Bluetooth and encrypted cloud storage in parallel. Members joining mid-session catch up instantly and isolated segments stay in sync. **Network Sync off:** the group runs pure BLE — votes never leave the room and no server holds them. The Network Sync setting is chosen at group creation and can't be changed later, so admins decide upfront based on the assembly's privacy needs — though in groups running Network Sync, Bluetooth Sync can be toggled off or on afterwards. In both modes, every vote is end-to-end Ed25519-signed, voter identities are hashed in the cloud copy so they can't be enumerated, and events are encrypted with your group's invite key — which is never sent to our servers. **What if the administrator's phone dies?** Votes that have already been cast continue to propagate normally. Polls can be opened and closed from any admin device, and any online admin can approve join requests — so groups with more than one admin keep running without interruption. We recommend adding a second admin: share an admin invite, and an existing member who scans it is promoted in place. If your group has a single administrator, it is wise to ensure their phone is fully charged and, if possible, plugged in during the session. **Do members need to create accounts?** No. Members simply install the app and scan the QR code to join. No email address, login, or personal information is required to participate in voting. With Network Sync enabled, your device authenticates anonymously to the cloud relay — you still don't sign up for anything. **Can this be used alongside our existing procedures?** Absolutely. MeshVote is designed to complement your rules of order, not replace them. The chair still recognizes motions, the administrator still manages the process, and the body still follows its established procedures. MeshVote simply replaces the mechanics of counting hands or paper ballots with a faster, more accurate method. **Is there a way to communicate during the session?** Yes. MeshVote includes a built-in group chat that travels over the same Bluetooth mesh as votes. Messages are ephemeral — they are not stored on any server and exist only on the devices present in the room. Administrator messages are marked with a badge so members can identify official communications. The group administrator can optionally require registration to participate in chat. **Do members get notified when a poll opens?** Yes — in every group. On groups with Network Sync, the server pushes an encrypted notification that the app decrypts on-device, even when the app is closed. Bluetooth-only groups never reach our servers, so the app instead raises a banner locally the moment the poll or message arrives over Bluetooth. Tapping either kind opens the poll, and per-group mute applies to both. **Can admins post announcements?** Yes. Any admin can set a standing announcement in group settings — meeting logistics, voting instructions, a link to the bylaws. Members see it once when they next open the group, and again whenever it's updated. Announcements travel over both transports, so they work in Bluetooth-only groups too. Editing is admin-only. **What is geofencing?** Geofencing is an optional feature that restricts voting to members within a geographic boundary. The administrator draws a polygon on an interactive map to define the boundary. At voting time, the app checks the member's location — if they are outside the boundary, their vote is not accepted. This is useful for assemblies that require physical presence. **Can members abstain from a vote?** Yes. When creating a poll, the administrator can enable an abstain option. Members who wish to abstain can select it just like any other choice. Abstentions are counted and displayed in the final tally. **Can poll results be exported?** Yes. Results can be exported to plaintext, CSV, JSON, or Excel format. This is useful for meeting minutes, official records, and external audits. --- # MeshVote Support > Source: https://meshvote.com/support ## Contact Us For questions, feedback, or support requests, please email us at: Email: support@magnalia.foundation We aim to respond within 48 hours. ## Frequently Asked Questions **How do I create a group?** Open the MeshVote app, sign in, and tap the "+" button to create a new group. You can set a name, icon, and location for your group. Once created, share the QR code invite with participants so they can scan it to join. **How does Bluetooth Sync work?** Bluetooth Sync uses Bluetooth Low Energy to create a peer-to-peer mesh network between nearby devices. Votes and poll data propagate through the mesh via a gossip protocol — each device relays messages to its neighbors, who relay to their neighbors, and so on. No internet connection is required. The mesh works best when devices are within Bluetooth range of each other (typically 10-30 meters indoors). By default, MeshVote also runs an encrypted cloud relay alongside the mesh — see the Network Sync FAQ below for details, including how to create a group with it off for fully offline operation. **How do I delete my account?** You can delete your account from the Profile screen in the app, or visit our Account Deletion page for more information. Account deletion is permanent and removes your profile data from our servers. **Why do votes use cryptographic signatures?** Every vote in MeshVote is signed with an Ed25519 cryptographic key unique to your device. This ensures that votes cannot be forged or tampered with as they propagate through the mesh network, providing verifiable integrity without a central server. **What platforms does MeshVote support?** MeshVote is available on iOS, Android, and macOS. The web admin dashboard is available at this website for group and user management. **What is Network Sync?** Network Sync is a per-group setting that runs encrypted cloud sync alongside the Bluetooth mesh — votes, polls, and chat propagate over both transports in parallel. It's on by default. Members joining mid-session catch up instantly, and votes propagate across segments of devices that can't reach each other over Bluetooth. Events are end-to-end encrypted with your group's invite key, which is never sent to our servers. If you'd rather stay fully offline, an admin can create the group with Network Sync off — that group then runs pure BLE and nothing leaves the room. The Network Sync setting is chosen at group creation and can't be changed later. Bluetooth Sync is adjustable, though: in groups running Network Sync, admins can switch the Bluetooth transport off or back on at any time from group settings — a group always keeps at least one transport. **Does MeshVote send push notifications?** Yes — every group notifies you, in one of two ways. Groups with Network Sync enabled receive push notifications when a new poll opens or a new chat message arrives, even when the app is closed; notifications are encrypted end-to-end with your group's invite key — our servers can't read the plaintext. Groups running only Bluetooth Sync never reach our servers, so instead the app shows a notification banner on your device the moment a new poll or message arrives over Bluetooth. You can mute any group from its settings, and you're never notified twice for the same event. **Why does the app ask for Bluetooth and location permission?** Bluetooth powers Bluetooth Sync — the peer-to-peer mesh MeshVote forms between phones in the room. It's how votes propagate when there's no internet, so we recommend leaving it on; groups that run on Network Sync alone can operate without it. Location is optional and only used when a group's administrator has enabled geofencing; in that case, your phone confirms you're inside the boundary before allowing your vote. If geofencing isn't enabled, your location is never checked. We never use your location for tracking, advertising, or analytics. **How do I make someone an admin?** Share an admin invite from the group's invite screen. If the person isn't in the group yet, scanning it joins them as an admin. If they're already a member, scanning the same QR shows a promotion prompt — they confirm and are promoted in place, no need to leave and rejoin. Every admin can open and close polls, approve join requests, and edit group settings. **What can admins see about members?** In groups with Network Sync, admins get a Devices view (in the group's ⋯ menu): one row per device in the group, grouped into admins and members, showing each device's platform and model, an optional avatar, and a search box. Polls also show live turnout — the share of active member devices that have cast a vote. Turnout is an aggregate: the roster doesn't reveal individual ballots, and voter identities are hashed in cloud storage so they can't be enumerated there. ## Bug Reports If you encounter a bug or unexpected behavior, please email us at support@magnalia.foundation with a description of the issue, your device model, and OS version. Screenshots or screen recordings are helpful. --- # MeshVote Privacy Policy > Source: https://meshvote.com/privacy > Last updated: April 29, 2026 ## Introduction MeshVote is operated by Magnalia ("we", "us", or "our"). This Privacy Policy explains how we collect, use, store, and protect your information when you use the MeshVote mobile application (iOS, Android, macOS) and the MeshVote web dashboard. By using MeshVote, you agree to the collection and use of information as described in this policy. If you do not agree, please do not use the application. ## Information We Collect ### Account Information When you create an account, we collect: - **Email address** — provided during sign-up or via your Google or Apple account - **Display name** — chosen by you during registration - **Authentication provider** — whether you signed in with email/password, Google, or Apple - **Profile avatar** — an optional image you upload ### Device Information - **Ed25519 public keys** — a unique cryptographic key is generated on each device you use. The public key is linked to your account to verify vote authenticity. Your private key never leaves your device. ### Location Data With your permission, we collect your **approximate location** (reduced to ~100 meter precision) to associate your account with a geographic area. Location is requested with medium accuracy and is optional — the app functions without it. You can revoke location permission at any time in your device settings. ### Analytics and Crash Reports - **Firebase Analytics** — on iOS and Android we collect anonymous usage events such as group creation, poll creation, vote casting, and sign-in events. On the MeshVote web dashboard we collect anonymous usage statistics such as page views and sessions. Analytics are disabled on macOS. - **Firebase Crashlytics** (iOS and Android only) — crash reports are collected to help us identify and fix bugs. These include device type, OS version, and stack traces. ### Local Data (On-Device) MeshVote stores data locally on your device in an SQLite database, including your identity keys, groups you have joined, polls, votes, and chat messages. This local copy lives on your device and is shared peer-to-peer via Bluetooth. For groups created with **Network Sync** enabled (the default), the same data is also synced through encrypted cloud storage as a parallel transport — see the Network Sync section below. ### Bluetooth Low Energy (BLE) Data MeshVote uses Bluetooth Low Energy mesh networking for peer-to-peer communication. Votes and poll data are exchanged directly between nearby devices via BLE. **BLE-layer traffic is not routed through our servers** — it travels only between phones in physical Bluetooth range. BLE communication includes cryptographically signed events that propagate through the mesh network. ### Network Sync (Cloud Sync) For groups created with **Network Sync** enabled (the default), MeshVote runs encrypted cloud sync alongside the Bluetooth mesh as a parallel transport. This allows late-joining members to catch up instantly and keeps votes in sync across devices that cannot reach each other over Bluetooth. Data synced through Network Sync includes polls, votes, and chat messages for that group, stored in Google Firestore. Network Sync data is **end-to-end encrypted with the group's invite key** before it is uploaded; the invite key is held only by group members and admins and is never sent to our servers. Voter identifiers in cloud storage are hashed (HMAC-SHA256, keyed with the group key) before storage so that voter identities cannot be enumerated from server logs. Our servers see only ciphertext and pseudonymous identifiers. Network Sync is set per-group at the time of group creation and is immutable once chosen. Administrators who prefer fully offline operation can create groups with Network Sync off; in that case, no group data is synced to our cloud — the group runs purely over Bluetooth. ## How We Use Your Information - To provide and operate the MeshVote service - To authenticate your identity and secure your account - To verify the authenticity of votes using cryptographic signatures - To improve app performance and fix bugs (via analytics and crash reports) - To associate groups with geographic locations (with your permission) ## Data Storage and Security Account data (email, display name, avatar, device keys) is stored in Google Firebase (Firestore) infrastructure. All data is encrypted in transit via TLS. Firestore security rules restrict access so that users can only read and modify their own profile data. Every vote and poll event is cryptographically signed with Ed25519, providing tamper-proof verification of data integrity across the mesh network. ## Data Sharing We do **not sell** your personal data to third parties. We share data only with the following service providers, which process data on our behalf: - **Google Firebase** — authentication, cloud database (Firestore), analytics, crash reporting, and remote configuration - **Google Cloud Platform** — server infrastructure for Cloud Functions These providers are bound by their own privacy policies and data processing agreements. ## Your Rights Depending on your jurisdiction, you may have the following rights regarding your personal data: - **Access** — request a copy of the personal data we hold about you - **Correction** — request that we correct inaccurate data - **Deletion** — request that we delete your account and associated data (see Account Deletion: https://meshvote.com/delete-account) - **Portability** — request your data in a portable format - **Opt-out** — you can disable analytics by revoking permissions in your device settings To exercise any of these rights, please contact us via our Support page: https://meshvote.com/support ## Data Retention We retain your account data for as long as your account is active. When you delete your account, your Firestore profile (display name, email, avatar, device keys) and Firebase Authentication account are permanently deleted. Votes that have already been cast and propagated through the BLE mesh network cannot be recalled from other devices, as they are cryptographically signed and distributed across the peer-to-peer network. For groups using Network Sync, votes are also stored in encrypted cloud storage under the group document; this data is bound to the group lifecycle (deletion of the group removes its cloud-stored polls, votes, and chat) rather than the individual user account, since voter identifiers in the cloud copy are hashed and not directly linked to your account. Local data stored on your device (SQLite database) is removed when you uninstall the app. ## Account Deletion You can delete your account at any time from within the app (Profile screen) or by visiting our Account Deletion page: https://meshvote.com/delete-account. When your account is deleted, our Cloud Function automatically removes your Firebase Authentication account and all associated Firestore data. ## Children's Privacy MeshVote is not directed at children under 13 years of age. We do not knowingly collect personal information from children under 13. If we become aware that we have collected data from a child under 13, we will take steps to delete it promptly. ## Cookies and Web Technologies The MeshVote web dashboard uses Firebase Authentication session cookies to maintain your login session. We do not use third-party advertising or tracking cookies. Firebase Analytics may use local storage on the web dashboard for anonymous usage statistics. ## Changes to This Policy We may update this Privacy Policy from time to time. Changes will be posted on this page with an updated "Last updated" date. Continued use of MeshVote after changes constitutes acceptance of the revised policy. ## Contact Us If you have questions about this Privacy Policy or your data, please visit our Support page: https://meshvote.com/support --- # MeshVote Terms of Service > Source: https://meshvote.com/terms > Last updated: April 29, 2026 ## Acceptance of Terms By downloading, installing, or using MeshVote ("the App"), you agree to be bound by these Terms of Service ("Terms"). If you do not agree to these Terms, do not use the App. ## Description of Service MeshVote is a decentralized voting application for in-person gatherings. The App uses Bluetooth Low Energy (BLE) mesh networking to enable peer-to-peer voting; an internet connection is not required. By default, groups also use Network Sync — an encrypted cloud sync service that runs alongside the Bluetooth mesh for instant catch-up and resilience — which administrators can turn off at group creation for fully offline operation. An administrator creates a group and shares a QR code invite; members join by scanning the code, and votes propagate through the BLE mesh network and (if enabled) Network Sync. All votes are cryptographically signed with Ed25519 for tamper-proof verification. ## Account Registration To use certain features (such as the web admin dashboard), you must create an account. You agree to provide accurate, current, and complete information during registration. You are responsible for maintaining the security of your account credentials. ## Acceptable Use You agree not to: - Manipulate, forge, or tamper with votes or cryptographic signatures - Use the App for any unlawful purpose or in violation of any applicable laws - Attempt to reverse engineer, decompile, or disassemble the App - Interfere with or disrupt the BLE mesh network or other users' connections - Submit abusive, offensive, or harmful content through polls or write-in votes - Impersonate another person or misrepresent your affiliation with any entity ## Intellectual Property The App, including its design, code, and branding, is owned by Magnalia. All rights not expressly granted are reserved. You retain ownership of any content you create (such as vote data on your device), but you grant us no license to that content as it remains on your device or within the peer-to-peer mesh. ## Privacy Your use of the App is also governed by our Privacy Policy (https://meshvote.com/privacy), which describes how we collect, use, and protect your data. ## Disclaimers The App is provided **"as is"** and **"as available"** without warranties of any kind, either express or implied. We do not guarantee that: - The BLE mesh network will function in all environments or conditions - All votes will propagate to all devices (BLE has range and connectivity limitations) - The App will be uninterrupted, error-free, or secure - Results computed via the mesh network will be identical to centralized tabulation MeshVote is designed for informal in-person polling and is **not intended for legally binding elections** or any voting process where legal compliance or certified accuracy is required. ## Limitation of Liability To the maximum extent permitted by law, Magnalia shall not be liable for any indirect, incidental, special, consequential, or punitive damages arising out of or related to your use of the App, including but not limited to loss of data, vote integrity issues, or inability to connect via BLE. ## Termination We reserve the right to suspend or terminate your account if you violate these Terms. You may delete your account at any time through the App or via our Account Deletion page: https://meshvote.com/delete-account ## Changes to Terms We may update these Terms from time to time. Changes will be posted on this page with an updated "Last updated" date. Continued use of the App after changes constitutes acceptance of the revised Terms. ## Contact Us If you have questions about these Terms, please visit our Support page: https://meshvote.com/support --- # Delete Your MeshVote Account > Source: https://meshvote.com/delete-account > Last updated: April 29, 2026 ## How to Delete Your Account You can delete your MeshVote account from within the app: - Open MeshVote and sign in - Go to the Profile screen (tap your avatar or the profile icon) - Tap "Delete Account" - Confirm the deletion in the dialog Account deletion is processed immediately. If you are unable to access the app, you can request account deletion by emailing support@magnalia.foundation with the email address associated with your account. ## What Gets Deleted When you delete your account, the following data is **permanently removed** from our servers: - Your Firebase Authentication account (email, sign-in credentials) - Your Firestore user profile (display name, email, avatar image) - Your linked device public keys - Your location data and preferences - Associated analytics data ## What Is Not Deleted - **Votes already propagated via the BLE mesh** — votes in MeshVote are cryptographically signed and distributed across the peer-to-peer network. Once a vote has propagated to other devices, it cannot be recalled or removed from those devices. Closed poll results that include your votes will remain intact. - **Votes stored via Network Sync** — for groups using Network Sync, votes are also stored in encrypted cloud storage under the group document. Voter identifiers in cloud storage are hashed (not directly linked to your account), so deleting your account does not remove these votes; they are bound to the lifecycle of the group itself and are deleted when the group is deleted by its administrator. - **Local data on your device** — the SQLite database stored on your device (containing your identity, groups, polls, and votes) is not automatically removed. To delete this data, uninstall the MeshVote app from your device. ## Processing Account deletion is immediate. When your Firestore user profile is deleted, a Cloud Function automatically removes your Firebase Authentication account. You will be signed out and will no longer be able to access the web admin dashboard or app features that require authentication. ## Questions? If you have questions about account deletion or your data, please visit our Support page (https://meshvote.com/support) or review our Privacy Policy (https://meshvote.com/privacy).