Privacy Policy
Draft prepared 5 October 2026 · Effective date: set before launch
1. Who operates HACALL Holo
- Operator / data controller
- Legal name not provided — complete before launch
- Country of operation
- Not provided — confirm before launch
- Privacy contact
- Public email not provided — add before launch
This draft calls that operator “HACALL,” “we,” or “us.” Those terms must be tied to the correct legal operator before publication.
2. Information the current app handles
- Account and security: your username, a password-derived login check and salt, public encryption keys, an encrypted private-key vault, and (when configured) a recovery-code salt, verifier, and encrypted private-key backup. The app is designed not to send or store your raw password or raw recovery code. It does not request a phone number or email address.
- Profile and hologram images: the profile image you choose or the generated avatar. Image versions are stored by the service and retained until account deletion under the current implementation.
- Private chats: sender and recipient identifiers, time and message type, public-key material, and encrypted message content. Voice-message audio is encrypted by the client before upload. The service can still see communication metadata. If you delete a message or conversation from your account, it is hidden across your devices; the other participant keeps their copy.
- Live-call activity: caller and recipient, call time, outcome (such as connected, declined, or offline), and connected duration. The app does not record or store live-call audio. Recent call records are available only to the two participants and are deleted with either participant’s account.
- Channels: channel name, description, type, company name when supplied, cover image, product or service names/descriptions/prices/photos, and episode titles, captions, timing, and audio. Channel episode audio and channel images are stored as service content; they are not part of the private-chat end-to-end encryption flow. Signed-in users can access channel content through the app.
- Sessions: an authentication cookie is held in your browser. The server stores a hash of the session token, its expiry time, and a shortened user-agent string. Sessions expire after 30 days and expired rows are periodically removed.
- Device storage: the browser may store message-read timestamps and contact-key verification fingerprints in local storage.
- Microphone recordings: the app can use the microphone when you choose to record a voice message or channel episode. It does not use the camera.
3. How information is used
The app uses this information to create accounts, authenticate sessions, show profiles and channels, deliver chats and audio, show recent call activity and missed-call alerts, remember device-side read and key-verification state, enforce account controls, and protect the service against abusive request rates.
4. Private-message encryption
The current client is designed to encrypt private message content and voice-message audio before sending them to the service. The service stores the encrypted payloads alongside sender, recipient, time, type, and key metadata needed for delivery. This policy draft is not a cryptographic audit and does not certify the implementation. Channel episodes, channel descriptions, product details, and images are stored separately as channel content and are not end-to-end encrypted by the chat feature.
5. Providers and sharing
- Replit: hosts the app and its PostgreSQL database and provides optional publishing analytics. The production hosting region, applicable subprocessors, and their retention terms still need confirmation by the operator.
- Google Fonts: supplies the Sora typeface used by the app.
- cdnjs: supplies the Three.js library used for hologram rendering.
When the operator enables publishing analytics, Replit injects the tracker into the published site. It records page views and receives selected events for account creation, first messages, completed calls, and support form outcomes. HACALL's custom events do not include usernames, account IDs, message contents, or email addresses. Loading Google Fonts and cdnjs can send ordinary browser request information, such as an IP address and user-agent, to those providers. The operator must confirm analytics and provider retention terms before launch.
Private-chat content is intended for the people in that chat. Channel information is available to signed-in users through the app. Do not put private or confidential material in channel descriptions, images, or episodes.
6. Cookies and security
The app uses an essential authentication cookie with HttpOnly and SameSite protections; it is marked Secure in production. The current app code does not include advertising or analytics cookies. Production transport, hosting configuration, backups, and third-party practices must be confirmed by the operator. No online service can promise absolute security.
7. Retention and account deletion
You can hide individual messages or a conversation from your account. These controls do not erase the other participant’s copy or shared attachments. You can request account deletion from the account screen; the current server deletes the account and its associated profile, channel, product, episode, message, and call-activity records from the application database. Call-activity records remain while the accounts exist. The code does not define a backup-retention schedule, a post-deletion backup purge deadline, or an export feature; the operator must confirm these details before launch. Deleting an account does not automatically clear browser local storage on every device you used.
8. Your choices and requests
The app provides controls to change your password, set or replace a private recovery code, change your profile image, sign out sessions, block users, hide messages or conversations from your account, and delete your account. Blocking prevents further messages and calls between the two users until the block is removed. A forgotten password can be reset only with a private recovery code created for that account; accounts without a configured code cannot be recovered. The server stores a derived verifier and an encrypted private-key backup, not the raw code. For privacy requests, use the public privacy email that the operator must add before launch. The operator must confirm which rights and response procedures apply in each launch jurisdiction.
9. Age, location, and policy changes
HACALL Holo is for users aged 18 or older; people under 18 may not create an account or use the service. Users must confirm their age during account setup, sign-in, and password recovery. The production hosting geography has not yet been selected. The operator must confirm international data-transfer and notice requirements before launch. Material policy changes should be dated here and communicated through a method selected by the operator.
10. Items to resolve before publication
- Insert the legal operator, operating country, public privacy email, minimum age, effective date, and production hosting region.
- Confirm provider/subprocessor, backup-retention, deletion, and data-request procedures.
- Have qualified counsel review this draft for the intended markets. Do not treat this page as final until those items are complete.