CAI Technology SRL ("we", "us", "our", the "Data Controller")
Address: Bucharest, Romania
Commercial Registry: registered in Romania
Email (general): contact@caitech.ro
Email (privacy): privacy@caitech.ro
Email (security): security@caitech.ro
Data Protection Officer (DPO): dpo@caitech.ro
This Privacy Policy applies to:
ro.caitech.caiauth)auth.caitech.ro (demo/evaluation server)Enterprise deployments on customer-owned servers are governed by the respective customer's privacy policy, with CAI Technology acting as Data Processor under GDPR Art. 28.
We have designed CAI-AUTH to minimize data collection by default. The following are NEVER collected:
| Data Category | Purpose | Storage | Retention |
|---|---|---|---|
| TOTP secrets (OTP keys) | Generate time-based one-time codes | EncryptedSharedPreferences (AES-256-GCM) | Until you delete the account in app |
| Ed25519 private keys | Classical cryptographic signatures | Android Keystore (hardware-backed when available) | Until uninstall or account deletion |
| ML-DSA private keys | Post-quantum signatures (NIST FIPS 204) | EncryptedSharedPreferences (AES-256-GCM) | Until uninstall or account deletion |
| Account labels (you enter) | Identify accounts in the UI | Local encrypted storage | Until you delete the account |
| Server URLs (you configure) | Know where to send authentication requests | Local encrypted storage | Until you change it |
| Encrypted backup archives | User-initiated backup to external storage | Your chosen location (ML-KEM-768 + AES-256-GCM) | User-controlled |
When you initiate an authentication request to a server you have configured:
| Data Sent | Purpose | Legal Basis |
|---|---|---|
| Public key material (NEVER private keys) | Server identifies your enrolled device | Performance of a contract (GDPR Art. 6(1)(b)) |
| Ephemeral cryptographic challenge signatures | Prove possession of enrolled device | Performance of a contract (GDPR Art. 6(1)(b)) |
| Device capability flags (StrongBox available, biometric strength) | Server decides whether to accept device as sufficiently secure | Legitimate interest (GDPR Art. 6(1)(f)) — fraud prevention |
| Credential identifier (opaque, server-assigned) | Match request to credential | Performance of a contract |
CAI-AUTH uses Firebase Cloud Messaging by Google LLC to deliver push authentication requests from servers to your device. The following data is processed by FCM:
FCM is subject to Google's Privacy Policy. Google acts as a Data Processor under GDPR. You can disable push authentication by uninstalling the app; FCM tokens are then invalidated automatically. Data is stored on Google's servers in EU and US regions.
If you connect to our demo server at auth.caitech.ro, the following logs are captured for security:
Retention: 7 days, then automatic deletion. Logs contain no user-identifying information beyond the truncated IP.
We share data with the following third parties, each acting as a Data Processor under GDPR Art. 28:
| Third Party | Purpose | Data Shared | Privacy Policy |
|---|---|---|---|
| Google LLC (Firebase Cloud Messaging) | Push notification delivery | FCM registration token, encrypted push payload | policies.google.com/privacy |
| Google LLC (Play Services Scanner module) | QR code scanning (unbundled, loaded at runtime) | None (processing happens on-device) | policies.google.com/privacy |
We do NOT share data with:
We do NOT sell personal data under any circumstances.
In compliance with Google Play's Data Safety requirements:
| Data Type | Collected | Shared | Optional | Purpose |
|---|---|---|---|---|
| Personal info | No | No | — | — |
| Financial info | No | No | — | — |
| Health and fitness | No | No | — | — |
| Messages | No | No | — | — |
| Photos and videos | No | No | — | — |
| Audio files | No | No | — | — |
| Files and docs | User-initiated (backup export) | No | Yes | Encrypted backup to user-chosen location |
| Calendar | No | No | — | — |
| Contacts | No | No | — | — |
| App activity | No | No | — | — |
| Web browsing | No | No | — | — |
| App info and performance | Crash logs (no PII) | No (Google Play Console only) | No (required for app stability) | Fix crashes and ANRs |
| Device or other IDs | FCM registration token (anonymous) | No (used only for push delivery) | No (required for push auth) | Receive authentication approval requests |
| Location | No | No | — | — |
Security practices:
| Permission | Required | Purpose |
|---|---|---|
android.permission.INTERNET | Yes | Send authentication requests to configured servers |
android.permission.CAMERA | Only when scanning QR | Scan enrollment QR codes (data processed on-device, never uploaded) |
android.permission.USE_BIOMETRIC | Yes (modern devices) | Unlock app with fingerprint/face, sign operations with hardware-backed key |
android.permission.POST_NOTIFICATIONS | Yes (Android 13+) | Show push authentication approval prompts |
We do NOT request: location, contacts, SMS, call logs, microphone, accessibility services, overlay, accessing other apps, or reading device state.
| Permission | Purpose |
|---|---|
storage | Save your enrolled server URL and credential IDs locally in browser storage |
notifications | Display authentication status (approved/denied) to you |
host_permissions: auth.caitech.ro | Send requests to your configured CAI-AUTH server |
Under GDPR Art. 15-22, you have the following rights:
To exercise any right, contact privacy@caitech.ro. We respond within 30 days.
California residents have the right to:
Submit requests to privacy@caitech.ro.
Your on-device data does not leave your device. FCM data may be stored on Google's servers in the United States under Google's Standard Contractual Clauses (SCCs) for EU-US transfers. See Google's data transfer framework.
CAI-AUTH is NOT directed at children under 13 years of age. We do not knowingly collect personal data from children. The app is rated 18+ on Google Play. If we learn we have inadvertently collected data from a child, we will delete it immediately. Parents who believe their child has provided data can contact privacy@caitech.ro.
In the unlikely event of a personal data breach affecting EU users, we will notify the competent supervisory authority (ANSPDCP Romania) within 72 hours and affected users without undue delay, per GDPR Art. 33-34.
We may update this Privacy Policy. The "Last updated" date at the top reflects the current version. Material changes will be announced in:
Previous versions are archived and available on request.
For any question or request regarding this Privacy Policy: