PRIVACY POLICY
Last updated: October 12, 2026
1. WHO WE ARE
EmoCity is a biometric analysis application built by EmoPulse. This policy explains how EmoCity handles your data when you use our service at emo.city.
2. BIOMETRIC PROCESSING
EmoCity works in two parts. In your browser, your camera feed is processed frame by frame using MediaPipe Face Landmarker (WebAssembly + WebGL) and turned into numbers. Video, audio, images, facial landmarks and the pulse waveform never leave your device; the camera feed and the landmarks are discarded frame by frame and never stored anywhere. The numbers (for example a stress percentage, a heart-rate estimate, heart-rate variability, eye contact, blinks, the detected expression and signal quality, about once a second during the scan) are sent to our server, where we store and analyse them and use them to test and improve the technology. Without an account this is an anonymous scan (section 7); with an account it is also your scan history. A copy of the main readings is kept on your own device so the app can show you how today compares with your usual range - see section 5.
3. CAMERA AND MICROPHONE
EmoCity requests access to your camera and microphone for real-time scanning. Camera data is used for facial landmark detection, expression and state inference, and heart rate estimation. Microphone data is used for voice stress analysis. Neither audio nor video is recorded, stored, or transmitted. Access can be revoked at any time through your browser settings.
4. ANALYTICS
We use Vercel Analytics to collect anonymous usage data including page views, feature usage counts, and general device/browser information. This data is aggregated and cannot be used to identify individual users. No biometric readings or scan results are included in analytics data.
5. LOCAL STORAGE
EmoCity uses your browser's localStorage to save preferences, scan counters, and your scan history. This includes: scan count, current month usage, registration status, and for each completed scan a small set of readings - stress, heart rate, heart-rate variability, the detected expression, signal quality, and the time of the scan. The history is what lets the app learn your personal range and tell you how a scan compares with your own normal instead of a generic scale. The history is capped at your most recent scans and the history itself stays on this device; the numbers of each new scan are also sent to our server, as section 7 explains. Alongside it we keep a session id, a region flag that decides whether to show the EU notice, and, if you signed in, your email address - that one is also held on our server, as section 7 explains. You can clear all of it at any time through your browser settings.
6. EXPORT FEATURES
The Share to X, Copy Text, and Download Report features generate text summaries of your scan results (percentage values and labels only). These actions are user-initiated. Sharing to X opens Twitter with pre-filled text that you can review before posting. No raw video, audio, or biometric signals are ever included in exports.
7. ACCOUNTS AND EMAIL
No account is required to use EmoCity. Without one, the numbers of each scan are sent to our server and kept there for analysis and to test and improve the technology, the same way as in the emopulse.app dashboard demo: every number the scanner shows, about once a second with its time (heart rate, heart-rate variability when it is measured, stress and its confidence, eye contact, blinks, the detected expression, voice stress, fatigue, focus, signal quality and the like), the flagged moments, the scan mode and length, and the time of the scan in UTC. No video, audio, image, name or email is sent. Your IP address and browser are stored only as one-way hashes, together with a random session id, so the scans cannot be linked to you by name. These anonymous scans are kept apart from accounts and are not used for anyone's personal comparison. If you choose to register, your name and email address are sent to our server and stored there, because that is what an account is: it is how we sign you in, verify the address, and let you reset a password. Signing in also means your scans are saved to your account so you can see them across devices.
8. THIRD PARTIES
We do not sell, rent, or share your personal data with third parties. Third-party services used:
- Vercel — hosting and anonymous analytics (page views and the fact that a scan happened; never your readings)
- MediaPipe — the on-device face model. The model and its runtime are served from emo.city itself, not from Google or a public CDN, so running a scan sends no request to any third party
- api.emo.city - our own server. It receives anonymous usage events (which page, that a scan happened, a random session id) from every visitor, the numbers of each scan made without an account (section 7), and, if you create an account, your sign-in, email verification and saved scans
9. DATA RETENTION
The numbers of every scan are kept on our server without a fixed end date, because we use them to test and improve the technology: without an account as anonymous scans (section 7), with an account also in your history. Your on-device history lives in your browser's localStorage, under your control, until you clear your browser data. With an account, you can ask us to delete your account and its scans at any time. Anonymous analytics data is retained by Vercel per their data retention policy.
10. YOUR RIGHTS (GDPR)
If you are in the European Economic Area, you have the right to: access your personal data, request correction or deletion, object to processing, and data portability. Without an account, the anonymous scans on our side carry no name or email, so we cannot tell which of them are yours unless you give us the session id shown in your browser storage (ec_sid); with it we will delete them. Your on-device history you can clear yourself at any time. With an account, write to the address below and we will export or delete what we hold, which is your name, your email address and your saved scans.
11. CHILDREN
EmoCity is not intended for use by children under 13. We do not knowingly collect personal information from children.
12. CHANGES
We may update this policy from time to time. Changes will be posted on this page with an updated date. Continued use of EmoCity after changes constitutes acceptance.
13. CONTACT
For privacy questions or data requests:
EmoPulse
Email: info@emopulse.app
Web: emo.city