Skip to content
T-kall

Privacy policy

Last updated: 23 September 2026.

1. Who is responsible for your data

You can write to us about any privacy matter at angel@engravitysigns.com.

The service is operated by that same entity from its own server, and the app is called T-kall (identifier com.bitali.tkall).

2. The essentials, in a table

End-to-end encryption means the content is encrypted on your device and is only decrypted on the other person's. We move sealed envelopes. The full guarantee is provided by the installed application; in the browser, the program that does the encrypting is downloaded from our server every time you open it (see Security). But not everything travels inside the envelope, and that is what almost no privacy policy tells you:

Data Can we read it?
The content of your messages No. Encrypted on your device.
The title and notes of your appointments No. Encrypted on your device.
The audio and video of a one-to-one call made with a chat's call or video call buttons No. Encrypted between the two devices, and they do not go through the rooms server.
The audio and video of a group call, of a "Meet now" meeting or of a video appointment Normally no. Since version 0.4.0 they are encrypted on your device (SFrame) and our rooms server only relays them. They stop being sealed only if someone joins the call with an old version: that call then drops to encryption that reaches only as far as the server for as long as that person is present, and the app tells you so inside the room. Meetings and video appointments always go through the rooms server, even if there are only two of you.
Who joins those rooms, from what IP address, when they join and leave, and the name given to a meeting Yes. The rooms server sees it; it is a different machine and it is in the United States (sections 6.2 and 7).
Who you talk to and at what time Yes. The server needs it to deliver the message.
Your email addresses and phone numbers Yes. They are your identity: without them no one can find you.
The time, duration and guests of your appointments Yes. Only the title and notes are encrypted.
Your contact list and the notes you write in it Yes. The names, emails and phone numbers, in the clear; the notes, encrypted in the database, but with a key of ours.
Which teams, channels and organizations you belong to Yes.
Your IP address Yes, at the moment you connect.
Your password No. We only store an Argon2id hash, which is irreversible.

3. What data is collected, exactly

3.1. Account data

3.2. Profile data requested at sign-up

These three fields are stored encrypted in the database (AES-256-GCM). It is worth understanding what that protects and what it does not: it protects against a leak of the database, because whoever takes it away will see opaque text. It does not protect against us: the key is on the server and we can decrypt them. This is different from the encryption of messages, where we do not have the key.

The location is not GPS. The app does not ask for the location permission. What it does is suggest a text to you from the time zone and language the phone already has configured; that calculation happens on your device and you can correct it or leave it empty.

3.3. Your extended identity

Email addresses and phone numbers are not encrypted, and that is not an oversight: they are the way another person finds you. If they were encrypted, no one could search for you by them.

3.4. Your devices

3.5. Your conversations

The images and voice notes you send travel inside the encrypted message itself; those are not uploaded to any separate store. Videos and the other attached files are, for the reason above, and the file deletes itself in the daily sweep following its 30th day since being uploaded —between 30 and 31 days—, whether or not you deleted it earlier. The copy the other person has already downloaded to their phone is theirs and we do not touch it.

3.6. Your appointments

3.7. Your contact list

The notes are stored encrypted in the database (AES-256-GCM), like the profile data in section 3.2 and with the same two faces: they protect against a leak of the database, but not against us, because the key is on the server and the server decrypts them each time you open your contact list. It is not the on-device encryption of messages, nor that of an appointment's notes.

The rest —the name you give each contact, their emails and phone numbers, and the requests— is stored in the clear on the server. And mind what that implies: by noting someone down in your contact list you are giving us their contact details. Only note down people who would reasonably expect to be there.

The app does not read the phone's contact list. It does not ask Android for that permission and does not upload any contact list: you type each contact in by hand.

3.8. Teams, channels and organizations

3.9. Moderation

3.10. Technical data

Retention of those logs: they are not archived. Each service on the main server keeps at most 50 MB of log —five 10 MB files— and the oldest is discarded on its own as new entries come in. There is no backup or historical archive outside that rotation. How much time that window covers depends on traffic, so we do not give you a number of days: it would be made up. The rooms server, which is a different machine (section 6.2), keeps its own logs and is not part of this rotation: its retention period is in section 8.

3.11. Meetings by link and rooms for video appointments

These records are not deleted today, not even when the account is deleted: the retention period is in section 8.

4. What we do NOT collect

5. What they are used for

We do not use your data to train models, nor for advertising, nor for any purpose other than operating the app.

6. Who they are shared with

These are all the third parties involved today. If one day there is one more, it will appear on this list before being activated.

6.1. Google — push notifications (Firebase Cloud Messaging)

It is what lets the app notify you with the screen off. Firebase is not a sealed envelope: Google sees what is sent to it. That is why the notification we hand it comes from a closed, short list of fixed texts, none of which names anyone.

Google receives:

Google does not receive:

On the lock screen you see one of those seven texts —or "Incoming call", which your phone composes—; who wrote to you appears only when you open the app, already decrypted.

If you do not want notifications, Google does not find out you exist. As long as you do not accept notifications, the app does not register your phone with Firebase: Google's component comes inside the app and loads with it, but it starts off switched off and never gets to request any identifier or connect. It only switches on —and only then does Google receive an app installation identifier and the IP address it connects from— at the exact moment you accept receiving notifications.

If you decline them and later change your mind, it switches on then. And if you sign out, it switches off again and the identifier is deleted on Google's servers, not just on ours.

An honest precision, because the difference matters: if you had already accepted notifications before this version, your phone is already registered and will stay so —it is precisely what keeps the notifications reaching you without having to accept anything again—. To undo it, sign out of the app: almost always that is enough. We say "almost" because there is a real gap: if you sign out without the app having managed to start up notifications after updating —for example, if you opened it offline—, the deregistration at Google may end up not happening. Signing in again with notifications working and signing out once more fixes it.

6.2. Call servers (STUN, TURN and rooms), our own

To connect a call, each device needs to find out its own public address on the internet, and for that it asks a STUN server. That server is ours. Until July 2026 Google's public server was used, which saw your device's IP address on every call; it was changed precisely so that would stop happening.

When the two networks do not allow a direct connection, the call also passes through a relay server (TURN), also ours, which forwards the already-encrypted traffic: it moves packets it cannot decrypt. It sees the IP addresses of both ends and the duration of the relay.

What this change does not solve, and it is worth knowing: your device has to resolve our call server's name by DNS, so whoever provides your DNS —your carrier, usually— can deduce that you are about to make a call, though not with whom. And notifications still betray the moment of a call through the other door (section 6.1).

The rooms server. When a call does not go from one device to the other, a rooms server gathers and distributes it; it is also ours (the software is LiveKit, which is open source). Group calls in a channel, a chat's group call button, "Meet now" meetings and video appointments go through it; the last two always, even if there are only two of you in the meeting. One-to-one calls made with a chat's call and video call buttons do not go through it. And a difference that matters: the rooms server is a different machine from the one running the rest of the service, and it is in the United States (sections 6.3 and 7).

What that server sees of each call that goes through it:

What it does not see is the audio and video, which are encrypted on your device (SFrame) as long as everyone present is on a version that supports it. If someone joins with an old version, that call drops to encryption that reaches only as far as the server for as long as that person is present —the app says so inside the room—, and during that time the rooms server could see and hear it. No call is recorded: neither the app nor our server ever asks for a recording —they have no such feature—, and the permission used to join a room does not include one.

Our main server has a notice from the rooms server ready so that it can kick out again, from a meeting by link, anyone the host has removed, but today that notice is not switched on. If it is switched on, it will be written here first. And it is worth knowing now how it would work: the rooms server would report what happens in every room —who joins and leaves, and which room, including a channel's rooms—, and our server would use it only to kick a removed person out again; it would discard the rest without storing it.

A correction that has to be stated as-is: until 23 September 2026 this page named the rooms server, but did not say that it is a different machine, nor that it is in the United States, nor what it sees; and section 7 claimed that everything was on a single machine, which was not true.

6.3. Hosting

6.4. Email — Resend

Since 26 August 2026 T-kall sends email through Resend (resend.com), from no-responder@send.t-kall.com. Resend receives the address written to and the content of the message, which can only be one of three: the code to verify an email (you paste it into the app; it expires in 30 minutes), the link to reset the password (it expires in one hour) or a notice that someone tried to add your address to another account. None carries conversation content, and we will never ask you for a password by email. The main domain t-kall.com still neither sends nor receives email —it declares that no server is authorized to do so on its behalf—; sending goes out from that dedicated subdomain.

A correction that has to be stated as-is: this section announced Resend as "pending to be hired" until 8 September 2026, when it had been active since 26 August. The rule in section 6 —appearing here before being activated— was not met this time.

6.5. Google Play

If you install the app from Google Play, Google knows you have installed it, under its own terms and not ours. If you prefer to avoid that, you will be able to download the APK directly from this site as soon as the download is available.

6.6. Authorities

If we receive a valid legal request, we can only hand over what we have: account data and metadata. We cannot hand over the content of messages or calls: no call is recorded, and we do not have the keys to what is encrypted on your device. The exception is the one in section 6.2: while a group call has dropped down a level, the rooms server could see and hear it, and it can always read the name given to a meeting. And let it be clear that not being able to hand over the content does not prevent us from handing over the metadata, which in many cases is just as revealing.

7. Where they are stored

On two machines, both contracted from Hostinger (section 6.3):

Push notifications cross Google's infrastructure, which is global —what travels there is the notification, not the message content, which is encrypted—.

8. How long they are kept

9. How they are protected

The limits of all this are explained plainly in Security. Read it: it is as much a part of this policy as what is above.

10. Minors

T-kall is not directed at children under 13, and sign-up rejects dates of birth that give a lower age. If we detect an account belonging to someone under that age, it is deleted.

11. Your rights

Depending on where you live, you may have the right to access your data, rectify it, port it, delete it, restrict its processing or object to it.

You can also complain to the data protection authority that corresponds to your country of residence. If you write to us first, we tell you which it is and do not make you look for it.

12. Changes to this policy

If we change anything important —a new third party, a new piece of data, something the app starts to store—, the date at the top is updated. The app does not have a second policy: its privacy screen is a summary that points to this same page and that, if it disagrees in anything, gives way to this text. The internal rule we follow is the opposite of the usual one: first it is written here, then it is activated. When that fails —the local store of 28 August 2026 spent ten days undeclared here, and the rooms server in the United States was not declared as such until 23 September 2026 (section 6.2)— we correct it and we tell you, instead of pretending it did not happen.

13. Contact

angel@engravitysigns.com