Privacy at CloudOTP
Last updated August 30, 2026
CloudOTP is designed to minimize the data it handles. This policy describes the software in this repository; operators of a self-hosted deployment should publish policy details for their own infrastructure.
Data used to provide the service
Google sign-in provides a Firebase user identifier, email address, and basic profile details. These identify your private sync space and show which account is signed in.
Account labels, issuer names, TOTP settings, and encrypted TOTP secrets are stored in Firestore under your user identifier. The TOTP secret itself is encrypted with AES-256-GCM before upload. Your six-digit vault PIN is not stored. If you opt into device unlock, a copy of the vault key and a WebAuthn credential identifier are stored locally in extension storage; they are not uploaded to CloudOTP.
Imports and code generation
Authenticator export files, pasted otpauth URIs, QR images, camera frames, decrypted secrets, and generated one-time codes are processed locally in the extension. CloudOTP does not upload the original import file or generated code.
Analytics, advertising, and sale of data
The website uses Google Analytics only after you choose “Allow analytics.” It measures page visits, installation-button interest, navigation, section views, FAQ opens, and support-link clicks. The site works without analytics. You can decline or withdraw consent at any time using “Analytics preferences” in the footer. Browser Do Not Track and Global Privacy Control signals keep analytics off.
With consent, Google Analytics receives a randomly assigned cookie identifier and standard browser/device information; network requests also expose your IP address to Google. Our event data uses fixed page names and action categories, not email addresses, account labels, OTP codes, PINs, secrets, import contents, URL query strings, or referrer URLs. We disable Google signals and advertising personalization. Google may automatically record session and engagement events while analytics is enabled. See Google’s Privacy Policy.
Your analytics choice is stored in this browser for up to 180 days. Analytics cookies expire after 90 days without automatic renewal. Withdrawing consent stops future collection and clears these cookies; it does not delete events Google has already received. This extension release does not send analytics events. Website consent does not opt you into any future extension analytics. CloudOTP does not contain advertising or sell personal information.
Retention and deletion
Synced records remain until you remove the relevant account or request deletion from the deployment operator. Signing out removes the extension session but does not delete the cloud vault.
Security and recovery
No system is risk-free. The six-digit PIN is intended as a convenient local UI lock and is not strong protection against offline guessing. CloudOTP cannot currently recover a forgotten PIN. Keep service recovery codes in a separate safe location and prefer phishing-resistant security keys where supported.
Permissions
The extension requests identity for Google sign-in, storage for the vault and short-lived session, clipboard write to copy codes, and camera access only when you choose QR scanning. The active-tab and scripting permissions are used only after you click a code: CloudOTP temporarily checks the current tab for a verification-code field and fills it, falling back to the clipboard when no suitable field is found. It does not request persistent access to every website.
Contact
For support, privacy questions, or data deletion requests for CloudOTP, email support@getcloudotp.com. Never include authenticator secrets, one-time codes, vault PINs, or recovery codes in your message. If you use a self-hosted deployment, contact its operator instead.