Privacy Policy
This Privacy Policy explains how Signa (the “App”), an iOS application developed and operated by BlueCouchWorks (“we”, “us”, “our”), handles information when you use it. Signa is an end-to-end encrypted messenger designed so that you retain ownership of your messages, photos, and account. We do not see plaintext message content, we do not commercialize your data, and we do not operate a server that holds it.
By installing or using the App, you acknowledge that you have read and understood this Policy. If you do not agree, please do not install or use the App.
Short version
- You own your data. Messages are end-to-end encrypted on your device. Photo attachments are uploaded to your Google Drive or Yandex Disk, not to anything we control.
- We do not see plaintext message or call content. Cryptographic keys live on your device and never leave it in a readable form.
- Message envelopes are stored briefly, encrypted, on Apple’s secure cloud infrastructure so peers can pick them up when offline. They are deleted after a short retention window. We treat that infrastructure as untrusted and place only ciphertext on it.
- Photo uploads stay in your Drive. Signa uses Google’s
per-file
drive.filescope (or Yandex’s equivalent app-folder scope), so it sees only the files it creates and cannot read the rest of your storage. - We run no analytics, tracking, advertising, or behavioral profiling. There are no third-party SDKs for those purposes in the App.
- We cannot recover your account, messages, or groups if you lose access to your device. That is a consequence of not storing your data in a form we can read.
Who we are
Signa is an independent application made by BlueCouchWorks. For privacy or data questions, contact privacy@bluecouchworks.com.
Information the App does not collect
The App does not collect, and we do not receive, any of the following:
- The plaintext content of your messages, attachments, voice notes, or calls.
- The contents of your Google Drive, Yandex Disk, or any other storage account beyond the per-file scope you grant.
- Your contact list or address book.
- Your precise or coarse geolocation.
- Behavioral analytics, usage metrics, or tracking identifiers used to follow you across apps or websites.
- Advertising identifiers (IDFA).
- Your identity from any sign-in provider beyond what Apple chooses to share when you use Sign in with Apple.
The App’s privacy manifest declares NSPrivacyTracking = false; Signa does
not perform tracking as defined by Apple’s App Tracking Transparency framework.
Information handled locally on your device
The following information is stored on your device and processed only on your device. It is not transmitted to us in a form we can read. It may be transmitted, in encrypted form, to other devices you authorize through an invite:
- Messages you send and receive (stored in an encrypted local database, protected by iOS data protection).
- Your chosen display name and the hue you pick for your avatar.
- Your group memberships, roles, and epoch (group-key) state.
- Public keys of peers you communicate with, cached for up to 24 hours.
- OAuth access tokens for any storage providers you sign in to (Google Drive, Yandex Disk), held in the iOS Keychain.
- A per-device identifier generated on first launch, used so your peers can recognize you across sessions.
- Message-retention settings you choose.
Information transmitted through Apple’s cloud infrastructure
To let two devices exchange messages without a dedicated server we operate, Signa places encrypted message envelopes and encrypted signaling records on the secure cloud infrastructure that Apple already operates for your Apple ID. That infrastructure is governed by Apple’s Privacy Policy. We treat it as untrusted: everything Signa places there is either a public cryptographic key, or is encrypted with a key held only by the group members.
Each record has a short time-to-live: encrypted envelopes are removed after a bounded retention window so they cannot accumulate. Specifically, Signa may place there:
- Your device’s public keys (Curve25519 agreement key and Ed25519 signing key), so peers can encrypt to you and verify messages from you. No private keys are ever uploaded.
- Encrypted message envelopes, with a short retention window. The body is encrypted with the group’s current epoch key; we cannot decrypt it.
- Encrypted signaling records containing WebRTC connection offers, answers, and ICE candidates for voice and video calls, each encrypted for a specific recipient.
- Encrypted presence records, so peers in the same group can locate each other by exchanging a signed, encrypted network endpoint.
- Encrypted invite records, whose payload is derived from a passphrase you share out-of-band; without the passphrase the invite cannot be redeemed.
- Encrypted epoch-key distribution records used to rotate group keys when membership changes.
- Signed membership and revocation records so each group member has a verifiable view of who currently belongs to the group.
We do not operate or administer this infrastructure. We cannot decrypt records whose keys we never held; we also cannot prevent the operator (Apple), from retaining or disclosing ciphertext and associated metadata in accordance with its own policies and with lawful process addressed to it.
Information stored in your Google Drive or Yandex Disk
When you send a photo attachment, Signa uploads the file directly to a cloud-storage provider that you sign in to — currently Google Drive or Yandex Disk. The file lives in your storage account, against your quota, under your ownership. We never receive or hold a copy.
- Google Drive. Signa requests only the per-file scope
https://www.googleapis.com/auth/drive.file. With this scope Google grants the App access only to files the App creates or that you explicitly open with it. The App cannot list, read, or modify any other file in your Drive. - Yandex Disk. Signa requests the app-folder scope plus read and write permissions for files it owns. Uploads land in the per-app folder Yandex provisions for Signa on your Disk; Signa does not read or modify files outside that folder.
- OAuth tokens. The access token granted to Signa lives in the iOS Keychain on your device. You can revoke it at any time from your Google or Yandex account’s connected-apps page; Signa will then ask you to sign in again the next time you send a photo.
- Sharing. So that the people in your group can view a photo you sent, Signa attaches a per-file public-link permission to the upload. The link is then wrapped in an end-to-end encrypted message envelope so it is readable only by group members.
Your use of these providers is also governed by Google’s and Yandex’s own terms and privacy policies. We are not responsible for their handling of your data.
Information exchanged peer-to-peer
For voice and video calls, once two devices discover each other through the encrypted signaling channel described above, call media flows directly between them over a WebRTC connection. The audio/video stream itself never passes through any server we operate. STUN servers (see Third-party services, below) are contacted only to discover each device’s public network endpoint; no call content passes through them.
Third-party services
- Apple Inc. — Apple-operated cloud infrastructure for encrypted envelope storage and signaling rendezvous, Apple Push Notification service (silent wake), and Sign in with Apple (if you choose to use it). Governed by Apple’s Privacy Policy.
- Google LLC — Google Drive, used only if you sign in. Governed
by Google’s
Privacy Policy. Scope:
drive.file(per-file access only). - Yandex LLC — Yandex Disk, used only if you sign in. Governed by Yandex’s Privacy Policy. Scope: per-app folder + Disk read/write for files Signa owns.
- TURN relay provider (Metered.ca or equivalent). When a direct peer-to-peer connection cannot be established for a call (typically because of strict firewalls or carrier-grade NAT), encrypted call media may be relayed through a TURN server. The relay sees only encrypted packets and the network endpoints involved.
- Public STUN servers operated by Google (
stun.l.google.com) and Cloudflare (stun.cloudflare.com), used only to discover your device’s public IP:port for call connection establishment. No message or call content passes through them. Their operators may log the IP addresses that contact them.
Signa embeds no advertising, attribution, analytics, or crash-reporting SDKs from any third party. Diagnostic signals we do receive come from Apple’s on-device MetricKit framework and consist of aggregated, non-identifying crash and performance headers; they contain no message content, no stack frames, no binary UUIDs, and no user content.
Data retention
- Messages are retained on your device according to your retention settings. Default retention is 30 days; you can change it per group or for your account.
- Encrypted envelopes on Apple’s infrastructure are short-lived. Envelopes are removed after a bounded retention window so they cannot accumulate indefinitely. Once removed, they are unrecoverable, including by us.
- When you delete a message, a group, or the App itself, the corresponding local database rows and key material are deleted from your device.
- Photo files in your Google Drive or Yandex Disk live there until you delete them from that account. Signa does not enforce a TTL on files it doesn’t own.
- Because we operate no server in the message or call path, we cannot retain what we never received, and we cannot produce it in response to any request.
Security
Signa uses Apple’s CryptoKit to perform cryptographic operations: AES-256-GCM for message encryption, Curve25519 for key agreement, Ed25519 for signatures, HKDF-SHA256 for key derivation, and PBKDF2-SHA256 for passphrase-based invite keys. Private keys are stored in the iOS Keychain with device-only access attributes and, where available, are protected by the Secure Enclave. Group keys rotate automatically when a member is removed, so revoked members cannot read messages sent after their removal.
No security is absolute. No system of electronic storage or transmission can be guaranteed to be 100% secure, and we cannot warrant the security of information that leaves your device. You are responsible for keeping your device, your Apple ID, your storage-provider accounts, and any invite passphrases you share safe from unauthorized access.
Children
Signa is not directed to children under the age of 13, and we do not knowingly handle personal information from any such user. Users in the European Economic Area and the United Kingdom must be at least 16 years old (or the minimum age at which consent to online services is valid under local law) to use the App without parental consent. If you believe a child has used the App improperly, please contact us and we will take appropriate action with respect to any information we can identify.
Your rights
Depending on where you live, you may have rights under the EU/UK General Data Protection Regulation (GDPR), the California Consumer Privacy Act as amended (CCPA/CPRA), or similar laws, including the right to access, correct, delete, or port your personal information, and the right to object to certain processing.
Because Signa’s design means that we do not hold your personal information, most such rights are exercised locally on your device or with the providers that do hold your data:
- Access & portability — everything Signa stores on your behalf is on your device or in your own Drive; you can inspect your messages, groups, profile, and uploaded photos directly.
- Correction — you can change your display name, avatar hue, group information, and retention settings from within the App.
- Deletion — you can delete individual messages, leave or delete groups, clear all messages in a group, delete uploaded photos from your Drive, revoke Signa’s OAuth access from your provider’s settings, or delete the App (which removes all local data and, over time, the associated encrypted-envelope records).
- Objection / restriction — you can stop using the App at any time. We do not profile you.
If you would like confirmation of the above, or if you believe we have information about you and would like it deleted, contact us at privacy@bluecouchworks.com and we will respond within the timeframes required by applicable law. For data held by Apple, Google, or Yandex, please contact those providers directly.
If you are in the EU/UK/EEA, you have the right to lodge a complaint with your local data protection authority.
Do-not-sell / do-not-share (CCPA). We do not sell or share personal information, as those terms are defined by the CCPA/CPRA. There is therefore nothing to opt out of.
International users and cross-border transfers
Signa is offered from the United States. If you are located outside the United States, you understand that your use of the App may involve transfer of encrypted records through infrastructure operated by Apple, Google, or Yandex in jurisdictions that may offer different levels of legal protection than your country. By using the App, you consent to such transfers to the extent permitted by applicable law.
Changes to this Policy
We may update this Policy from time to time. Material changes will be reflected in a new “Last updated” date at the top of this page and, where appropriate, announced inside the App. Continued use after the effective date of a revised Policy means you accept it.
Contact
Questions about this Policy: privacy@bluecouchworks.com.