Tetracom logo — tetrahedron mark

Tetracom Privacy Policy

What we collect, why, who receives it, how long we keep it, and how to delete it.

Effective date:

This is the privacy policy for Tetracom. It explains what information Tetracom collects, how it is used and shared, how long it is kept, and how you can delete it.

1. Who we are

Tetracom is operated by TETRACOM LLC (“we”, “us”). The developer name on our Google Play developer account is David J Hansen.

This policy covers the Tetracom Android app, the Tetracom iOS app (for iPhone), the Tetracom Web App at tetracom.me/app, and the tetracom.me website, including the pages for advertisers. Where the apps differ, we say which app a statement applies to.

Tetracom is still a prototype.

2. The short version

3. Your Tetracom identity

To use Tetracom you register an identity. We ask for:

We do not ask for your real name, e-mail address, phone number or a password. There is no phone verification.

Encryption keys. When you register, our server creates an RSA key pair for you. It sends the private key to your app once, over the encrypted connection. Our server keeps only the public key. It does not store your private key. The Android and iOS apps then create a second key pair (X25519) on your device and send us only the public half. The Web App does not create this second key pair.

What we store for your identity: your userid, display name, date of birth, public keys, when you registered, your settings for location-based ads and read receipts, and the feature tag your app sends with each message. The feature tag is a fixed label set when the app was built; it is not the app’s real version (see Server logs). It is updated each time you send a message.

Terms record. If your app sends it when you register (the Android app does), we also store with your identity the version of the Tetracom Terms of Use you accepted and the time our server received it.

When you register, our server also writes your userid, display name and the Terms of Use version (if sent) to its log. Earlier versions of the server also wrote your date of birth to the log.

Your userid is public. It works like a username. It can be used to look up your display name, whether you are online, and your app’s feature tag. Your contacts’ apps receive your public keys so that they can encrypt messages to you. There is no public list or search of users. People add you by typing your exact userid.

More than one identity. The Android app can hold several identities. It asks our server how many messages are waiting for each of them. This lets our server tell that those identities are on the same phone.

4. Messages

Content is end-to-end encrypted. Voice clips, text, questions, locations and SOS messages are encrypted on your device before they are sent. Our server passes on and stores only the encrypted form. It does not decrypt it.

Relayed or queued. If the recipient is online, our server passes the encrypted message straight through and does not store it. If the recipient is offline, our server stores the encrypted message until it is delivered. It is deleted as soon as it is delivered, or after 24 hours if it is not delivered. One exception: a notice telling a contact that an identity was deleted can wait up to 30 days.

Queue limits.

Message records (metadata). For every message, our server keeps a record of the sender’s userid, the recipient’s userid, the size, the time sent, the time delivered, the time played (only if read receipts are on) and the status. Our server also sees the type of each message, such as voice, text or location. It does not see the content. These records have no time limit. They are deleted when the sender or the recipient deletes their identity.

Read receipts. “Send read receipts” is off by default. When you turn it on, the Android or iOS app tells our server when you play a message. Our server records the time and tells the sender.

Groups. Contact groups are kept on your device. A group message is sent as a separate encrypted copy to each member. Our server sees these as separate messages.

Blocking. When you block someone, our server records who blocked whom and when. Messages from that person to you are dropped: they are not delivered, and their content is not stored. Our server log records each dropped message with both userids.

Reports. If someone reports you, their report can include an excerpt of a message you sent them, in readable form. See Reports.

5. Contacts, parents, channels, teams, invites and reports

Our server keeps the following in readable form. It is not end-to-end encrypted.

Tetracom does not read your address book. In the Android app, an invite is sent through your own text-messaging app. In the iOS app, you share it through the iPhone share sheet. You choose the recipient. Tetracom does not see the phone number.

6. Location

7. SOS

8. Notifications

The Android app does not use Google’s push service. It keeps its own connection to our server. The iOS app does not use Apple’s push notification service; it receives messages over its own connection to our server.

In the Web App, if you turn on notifications, your browser gives us a push address and keys. We store them with your userid. The address belongs to your browser maker’s push service (for example Google, Mozilla, Microsoft or Apple). Each notification goes through that service. It says only that a new message arrived. It contains no message content.

We delete the push address when you turn notifications off, when the push service tells us it no longer works, or when your identity is deleted.

9. Ads

The Android app and the iOS app show an ad bar. The Web App shows no ads. Neither app contains an advertising company’s software, and the iOS app does not read or send Apple’s advertising identifier (IDFA).

House ads and advertiser ads. An ad is either Tetracom’s own (a “house ad”) or an ad from an advertiser. The app asks our server for an ad each time it connects to our server. The request includes your userid and your location-ads setting. Our server picks one approved ad. It uses your age (from your date of birth), the location your app sent (if any), and which ads were shown to you in the last 24 hours, to limit repeats from the same advertiser.

Location-based ads (Android: Settings → Location-based ads; iOS: Settings → Ads). The default is Off.

The app sends a location only if you chose Approximate or Precise and gave the app location permission. The Android app reads and sends a location for ads only while the app is open; when it connects to our server in the background, it asks for an ad without a location.

iOS: App Tracking Transparency. The iOS app asks for Apple’s tracking permission (“Allow Tracking”) only when you choose Approximate or Precise. It does not ask when the app starts. If you do not allow tracking, or turn it off later in iPhone Settings, the iOS app treats location-based ads as Off and sends no location for ads. Either way, ad requests and ad view and tap reports still include your userid, as described here.

Advertisers can limit an ad to an area: a circle around a point, a shape they draw, or a named region. Our server compares the location your app sent with those areas, and can pick such an ad only if your location is inside its area. Without a location, you are shown only ads that are not limited to an area.

Our server does not store the location from an ad request in the database. But the location is part of the request address, so it is written to our server logs. Your setting (Off, Approximate or Precise) is stored with your identity.

Ad views and taps. When an ad is shown or tapped, the app reports it to our server. We store the ad, your userid and the time. For a tap, we also store which part of the ad you tapped. If location-based ads are not Off, we also store your location rounded to about 1 km (the app rounds it, even if you chose Precise). Together, these records show roughly where you were when you were shown or tapped each ad. They have no time limit. They are deleted when you delete your identity. Turning location-based ads off does not remove them.

Tapping an ad opens the advertiser’s web page in your browser (in the iOS app, in a Safari window inside the app), your phone’s dialer with their number, or directions in Google Maps (Android) or Apple Maps (iOS). Those then see your visit as usual. If an ad’s picture is stored on another website, your phone loads it from there, and that website sees your IP address.

What advertisers see. Advertisers never see your userid, your date of birth or your exact location. For their own ads, they see:

For each ad, an age group or map square is shown only if it covers at least 5 different users of that ad. Smaller groups are hidden. The totals across all of an advertiser’s ads add up these per-ad counts, so a group in the totals can cover fewer than 5 different people.

Under 18. If your date of birth shows you are under 18, our server does not pick any ad for you, so you are never shown advertiser ads. The Android and iOS apps then show their built-in house ad. The app still reports when that house ad is shown, with your userid and, if location-based ads are on, your location rounded to about 1 km.

10. Server logs and technical data

Our servers keep logs. They can include:

With each message, the Android app sends a fixed feature tag (“hv v0.6.2 ack”) and the iOS app sends “tcae1 v0.1.0-ios ack”. These tags are not the apps’ real versions. The Android app’s real version is sent only when you open Help from the Android app: the link includes your phone’s maker, model, Android version and the app version, so these appear in our logs.

While you are connected, our server keeps your IP address and your app or browser details (User-Agent) in memory. The people who run Tetracom can see them on an admin page. They are not stored in the database, and they are dropped when you disconnect.

There is no fixed retention period for logs yet.

11. Phone numbers and text messages

12. Website, advertisers and sign-up forms

13. Who receives your data

WhoWhat they receive, and when
Your contactsYour userid, display name, public keys and your app’s feature tag, and the messages you send them. If you delete your identity in the iOS app, a notice that it was deleted; only contacts who are online at that moment receive it. Copies on their devices stay if you delete your identity.
A linked parentThe child’s contacts and waiting contact requests. See Children.
AdvertisersGrouped statistics only. See Ads.
OpenStreetMapYour IP address, app or browser details, and the map area you view, when a map is shown.
GoogleOn Android, your location requests go through Google Play services. Your coordinates go to Google Maps when you tap “Open in Google Maps” or ask for directions. If you use the Web App in Chrome with notifications on, notices go through Google’s push service.
AppleIn the iOS app: your IP address and the map area you view, when a map is shown (Apple Maps); your location requests, through Apple’s Location Services; the advertiser’s location, when you tap an ad for directions and Apple Maps opens.
Your phone’s speech-recognition service (on most Android phones, Google’s)What you say, when you tap the microphone to dictate a question or an option instead of typing it.
Browser push services (Google, Mozilla, Microsoft, Apple)Your push address, and a notice with no message content, when Web App notifications are on.
unpkg.comYour IP address and the page address, when the Web App needs to convert a voice clip, and on the advertiser dashboard.
Advertisers’ websites and ad picture hostsYour IP address, when an ad picture is stored there or when you tap an ad.
Your mobile carrierThe number and text of messages your phone sends as an SMS relay.
TwilioText messages sent to a Tetracom phone number.
The people who run Tetracom for TETRACOM LLCThrough an admin page: identities with dates of birth, connected users with IP address and User-Agent, message records (no content), advertiser form entries, and copies of database tables. They also review reports (see Reports).

Service providers. Service providers that process data for TETRACOM LLC, such as the company that hosts our server and Twilio (for text messages to a Tetracom phone number), must protect it in a way consistent with this policy.

Independent services. OpenStreetMap, Google, Apple, your phone’s speech-recognition service, browser push services, unpkg.com, advertisers and their websites and ad picture hosts, and your mobile carrier are independent services. They are not run by TETRACOM LLC and do not process data for us. Their own privacy policies apply to what they receive. We do not control how they protect it.

We do not sell your personal data. We do not use analytics, crash-reporting or advertising SDKs in the apps.

We may disclose information when the law requires it, or to report child sexual abuse material to the authorities.

Business integrations. Tetracom’s server has a feature that can send notices about messages and contact requests to a business’s own system. It is not in use: no business integration is set up. If we turn it on in the future, we will update this policy first.

14. Security

15. Data on your device

Android app

iOS app

Web App

16. Children

You must be at least 13 years old to use Tetracom.

Tetracom asks for your date of birth when you register. We do not verify it. If the date of birth shows an age under 13, our server refuses the registration and no identity is created.

If you are under 18:

Parent links. In the Android app, a child links a parent in Settings → Parental controls, for example by typing the parent’s userid. The child can unlink a parent in the same place.

A linked parent can see:

A parent cannot see message content. Our server does not have it.

If you believe a child under 13 is using Tetracom, e-mail help@tetracom.me and we will delete the identity.

17. How long we keep data

DataHow long
Your identity (including the terms record), contacts, contact requests, parent links, blocks, invites you created, channel and team dataUntil you delete your identity. Identities are not deleted automatically, even if unused.
Encrypted messages waiting for deliveryUntil delivered, or 24 hours. A notice that an identity was deleted can wait up to 30 days.
Message records (metadata)Until the sender or the recipient deletes their identity.
Ad view and tap recordsNo time limit. Deleted when you delete your identity.
Web App push addressUntil you turn notifications off, the push service says it no longer works, or you delete your identity.
ReportsNo time limit. When the reporter or the reported user deletes their identity, that userid is removed from the report; the rest of the report is kept.
Server logsNo fixed retention period yet.
Database backups and copies (they contain identities with dates of birth, contacts, parent links, blocks, invites, message records and waiting messages)No fixed retention period yet.
Advertiser accounts and form entriesUntil deleted at your request.

Deleted data may remain in logs and backups until those are removed.

18. Account deletion

You can delete your Tetracom identity in the Android app, in the iOS app (Settings → Delete account on server…), or by e-mail. Step-by-step instructions are on the support page: Delete your Tetracom identity and data. Before the iOS app deletes your identity, it tries to send each of your contacts an encrypted notice that the identity was deleted. Contacts who are offline at that moment do not receive it, because deleting your identity also deletes messages still waiting for delivery.

Deleting your identity removes from our server:

Invites you used are kept, with your userid removed. Reports you filed, and reports about you, are kept with your userid removed; a report can still contain the details or message excerpt the reporter sent (see Reports). After deletion, your userid is free, and someone else can register it.

It does not remove:

We are updating Tetracom to delete more of this data.

19. Your choices

Turning a setting off stops new collection. It does not delete data already collected. Deleting your identity does that, as described in Account deletion.

20. Changes to this policy

We will post any change on this page and update the effective date at the top. If a change means we collect or share more data, we will post it here before it takes effect.

21. Contact

TETRACOM LLC
E-mail: help@tetracom.me
Website: https://tetracom.me/