Privacy Policy

Effective: March 11, 2026  ·  Last updated: March 11, 2026

Data Controller: Ritsea SRL — Registered in Romania, European Union

Cloudverest is a cloud file collaboration and version control platform operated by Ritsea SRL, a company registered in Romania, European Union ("Ritsea," "we," "us," or "our"). This Privacy Policy explains what personal data we collect, why we collect it, how we use and protect it, and the rights you have under the General Data Protection Regulation (GDPR) (EU) 2016/679 and Romanian Law no. 190/2018.

This policy applies to all users of the Service — whether you use the web application at app.cloudverest.com, the Cloudverest Desktop Application, CLI tool, VS Code Extension, or UE5 Plugin.

1. Definitions

  • Account — a registered user identity authenticated via Firebase Authentication.
  • Audit Log — the append-only record of all significant actions performed within a Project.
  • Device — a machine (desktop, laptop) registered with the Service via the Desktop Application.
  • Personal Data — any information relating to an identified or identifiable natural person, as defined by GDPR Art. 4(1).
  • Processing — any operation performed on personal data, including collection, storage, use, and deletion.
  • Project — a collaborative workspace containing folders, files, branches, and team members.
  • Ritsea / we / us — Ritsea SRL, registered in Romania, the data controller for all personal data described herein.
  • Service — collectively: the web application, Desktop Application, CLI tool, VS Code Extension, UE5 Plugin, API, and real-time sync infrastructure operated by Ritsea.
  • Trash — the 30-day recoverable deletion state before files are permanently purged.
  • User / you — any natural person who has been granted an Account and uses the Service.

2. Data We Collect

2.1 Account Data

Collected when you register and throughout your use of the Service:

  • Email address — your primary identifier, used for authentication and account-related notifications
  • Display name — shown to collaborators within shared Projects
  • Account creation date, last login timestamp, and account role (Admin / Editor / Viewer)
  • Firebase UID — an opaque identifier assigned by Firebase Authentication; never disclosed externally

Note on passwords: Passwords are managed exclusively by Firebase Authentication (Google). Ritsea never stores, receives, or has access to your raw password.

2.2 Device Data (Desktop Application Only)

When you connect a workspace in the Desktop Application, the following device information is automatically collected and stored against your Account:

  • Device UUID — a unique identifier generated locally on your machine at first connection
  • Platform — your operating system (Windows, macOS, Linux, or Browser)
  • Hostname — your machine's network name
  • Workspace root path — the local filesystem path of your connected workspace directory
  • CPU core count and total RAM — collected once at registration to inform concurrency settings
  • Application version — used for compatibility checks and update targeting
  • Last seen timestamp — updated each time your device connects to the Service

You can view and remove registered devices at any time from Settings → Devices inside the application.

2.3 File and Folder Data

  • File names, folder names, and the directory hierarchy within your Projects
  • File contents — stored encrypted in Cloudflare R2 object storage
  • File sizes, MIME types, and SHA-256 checksums (used for integrity verification and deduplication)
  • Upload and modification timestamps, and the identity (user ID) of the uploader
  • Cloudflare R2 storage key — the internal object path for each file version

2.4 Version History

Every time a file is uploaded or modified, a new version record is created. Each version contains: version number, file size, MIME type, SHA-256 checksum, R2 storage key (pointing to the binary content), the user who created it, and the timestamp. Version history is retained for as long as the parent file exists, unless version pruning is configured by a project administrator.

2.5 Audit Log Data

Every significant action performed in the Service generates an audit log entry. Each record contains:

  • User ID and device ID of the actor
  • Action type — e.g., upload, download, delete, rename, move, lock, unlock, branch create, merge, pull request opened/merged/rejected
  • File or folder affected — ID, name, and path
  • Timestamp of the action
  • IP address of the originating request
  • Approximate geographic location — country and city, derived from Cloudflare network headers

Audit logs are used for security monitoring, compliance auditing, and providing you with a verifiable history of all access to your data. Legal basis: GDPR Art. 6(1)(f) — legitimate interests.

2.6 Collaboration and Project Data

  • Project membership records, member roles, and team assignments
  • Folder-level permission overrides (granted or restricted per user or team)
  • Project invitations — including the invitee's email address, invitation token, and acceptance status
  • Branch records, branch protection rules, and pull request records (title, description, status, review comments)
  • File comments and pull request inline comments authored by you
  • File locks — lock holder's user ID, device ID, and lock expiry timestamp

2.7 Real-Time Presence Data

When you are connected to a Project, your user ID and display name are temporarily shared in real time with other online members of that Project as a "presence indicator." This data is held exclusively in memory within Cloudflare Durable Objects and is never written to the database. It disappears the moment you disconnect or close the application.

2.8 Usage and Billing Data

  • Monthly operations score — a weighted count of API operations per project owner, used for billing and limit enforcement
  • Storage consumption in bytes — tracked per Project and aggregated per owner
  • These metrics are accumulated in real time and reset on the first day of each calendar month

2.9 Webhook Configuration Data

If you configure webhooks, we store:

  • The webhook URL, associated Project, configured event types, and a webhook secret (stored hashed)
  • Delivery logs — HTTP status code, response body excerpt, and timestamp — retained for 30 days

2.10 Support and Error Data

  • Support ticket text, status, and our responses — retained for 2 years
  • Application error reports: error message, stack trace, client type (web / desktop / CLI / VS Code / UE5), and version

2.11 UI Preferences

  • Theme (light / dark) — stored in your browser's or Desktop App's localStorage; never sent to our servers
  • Language preference (English / Romanian / Ukrainian) — synced to our database so it persists across your devices
  • Column widths and panel layout — stored in localStorage on your device only

3. How We Use Your Data

We use your personal data solely to:

  • Provide the Service — Store, version, sync, and deliver your files; authenticate your identity; manage Projects and team memberships
  • Enable Collaboration — Display your name and comments to team members; maintain real-time presence and file lock state; send Project event notifications
  • Enable Desktop Sync — Associate your desktop workspace with your Account and synchronise files across your registered devices
  • Maintain Security — Detect and prevent unauthorised access, fraud, and abuse via rate limiting, audit logs, access controls, and file locking
  • Billing and Usage — Track storage and operation usage to enforce limits and calculate billing
  • Support and Reliability — Diagnose and resolve technical issues; respond to support requests; monitor Service health
  • Compliance — Maintain audit logs to help you and your organisation demonstrate compliance with applicable regulations
We do not sell your data. We do not use your data for advertising or marketing profiling. We do not train machine learning models on your file contents. We do not share data with advertisers or data brokers.

4. Legal Basis for Processing (GDPR Art. 6)

The table below sets out the legal basis for each category of processing activity:

Processing ActivityLegal BasisGDPR Article
Account creation, authentication, and managementPerformance of contractArt. 6(1)(b)
File storage, versioning, sync, and collaboration featuresPerformance of contractArt. 6(1)(b)
Device data collection for desktop workspace syncPerformance of contractArt. 6(1)(b)
Transactional email (invitations, security alerts, notifications)Performance of contractArt. 6(1)(b)
Usage metering and billingPerformance of contractArt. 6(1)(b)
Webhook delivery to your configured endpointsPerformance of contractArt. 6(1)(b)
Security audit logging, rate limiting, abuse detectionLegitimate interestsArt. 6(1)(f)
Storing IP addresses and geo-location in audit logsLegitimate interestsArt. 6(1)(f)
Language preference sync across devicesLegitimate interestsArt. 6(1)(f)
Support ticket and error log processingLegitimate interestsArt. 6(1)(f)

Where we rely on legitimate interests, we have assessed that our interests do not override your fundamental rights and freedoms. You may object to processing based on legitimate interests at any time — see Section 9.

5. Data Retention

We retain personal data for only as long as necessary for the purposes described in this policy. The following table details retention periods for each data category:

Data CategoryRetention PeriodDeletion Mechanism
Account data (email, display name, role)Until account deletion requestEmail privacy@cloudverest.com
Device recordsUntil removed in Settings → Devices, or account deletionSettings panel or account deletion
Active files and foldersUntil deleted by youFile browser → Delete → Trash
Trash (deleted files)30 days after deletion, then permanently purgedAutomatic daily job at 02:00 UTC
File version historySame as the parent file (or admin-configured max versions)Automatic on file deletion / admin pruning
Audit logs (active, database)3 months, then automatically archivedAutomatic daily archival job
Audit log archives (object storage)Indefinitely, searchable from in-app panelSubmit deletion request to privacy@cloudverest.com
Collaboration data (memberships, PRs, comments)Until Project deletion by owner or adminProject deletion
Real-time presence dataCleared immediately on disconnectAutomatic — in-memory only, never written to disk
UI preferences (localStorage)Until you clear browser or app dataBrowser / app settings
Language preference (database)Until account deletionAutomatic on account deletion
Webhook configuration and delivery logs30 days for delivery logs; config until you delete the webhookAutomatic / manual deletion in app
Support tickets and responses2 years from last responseAutomatic after 2 years
Error and diagnostic logs90 daysAutomatic
Database backups (Cloudflare D1)30 daysCloudflare automated retention policy
Trash (30-day purge): When you delete a file, it moves to Trash and is permanently and automatically purged after 30 days by a scheduled job running at 02:00 UTC daily. Files permanently deleted from Trash cannot be recovered. Project administrators may configure a different retention period.
Audit log archiving: After 3 months in the active database, audit logs are automatically compressed and moved to Cloudflare R2 object storage as JSONL archives, organised by Project and month. Archived logs remain fully searchable from the in-app audit log panel using the archived search parameter.

6. Third-Party Data Processors

We share personal data only with the following sub-processors, which are strictly necessary to operate the Service. We have Data Processing Agreements (DPAs) in place with all sub-processors. We do not sell data to, or share data with, any advertising networks, analytics companies (beyond the disclosure in Section 8), or data brokers.

Cloudflare, Inc. — United States

Provides all compute and storage infrastructure for the Service: Workers (API and server-side compute), D1 (relational database — all structured data), R2 (object storage — all file contents and version binaries), KV (caching layer — session data, project metadata), Durable Objects (real-time coordination — presence, file locking), Pages (frontend hosting), and Email (transactional email delivery for invitations and notifications).

Transfer safeguard: Cloudflare DPA + EU Standard Contractual Clauses (SCCs) · Privacy policy: cloudflare.com/privacypolicy/

Google LLC / Firebase — United States

Provides authentication services only — handles credential verification, session token issuance, email/password sign-in, and magic-link (email link) sign-in. Ritsea receives only the Firebase UID, email address, and display name from Firebase. Passwords are never transmitted to or stored by Ritsea.

Transfer safeguard: Google Cloud DPA + EU Standard Contractual Clauses (SCCs) · Privacy policy: policies.google.com/privacy

All other application code, business logic, and data processing is performed solely within Cloudflare's infrastructure by Ritsea. No other sub-processors have access to your personal data. If we engage additional sub-processors in the future, we will update this policy and notify affected users as required.

7. International Data Transfers

Ritsea SRL is registered in Romania, a member state of the European Union. Our sub-processors Cloudflare and Google operate infrastructure globally, including in the United States and other countries outside the European Economic Area (EEA).

All transfers of personal data outside the EEA are governed by Standard Contractual Clauses (SCCs) approved by the European Commission under GDPR Art. 46(2)(c). These clauses provide appropriate safeguards ensuring that your data receives equivalent protection regardless of where it is processed.

You may request a copy of the relevant SCCs and DPAs by contacting us at privacy@cloudverest.com.

8. Cookies and Local Storage

We do not use advertising cookies, third-party tracking cookies, or any cookies that track your activity across other websites.

The Service uses browser localStorage and indexedDB — not traditional HTTP cookies — for the following strictly necessary and functional purposes:

Storage Key / TechnologyPurposeWhere StoredNecessary?
Firebase SDK (indexedDB / localStorage)Authentication session token — keeps you signed in across page loadsYour browser or Desktop AppRequired
cloudvault-themeYour light/dark theme preferenceBrowser localStorageFunctional
cloudverest-email-for-signinTemporary email storage for magic-link sign-in — cleared immediately after useBrowser localStorageFunctional
Column widths, panel layoutUI layout preferencesBrowser localStorageFunctional
Google Analytics disclosure: Our Firebase configuration includes measurement ID G-5CSC1EQ7RH, which may enable Google Analytics for Firebase. If active, Google Analytics collects usage statistics including page views, session duration, and navigation paths. This data is associated with your Firebase session. You may opt out at any time by installing the Google Analytics Opt-out Browser Add-on.

9. Your Rights Under GDPR

If you are located in the European Economic Area or the United Kingdom, you have the following rights under GDPR (Regulation (EU) 2016/679) and Romanian Law no. 190/2018:

Right of AccessArt. 15

Request a copy of all personal data we hold about you, including the categories of data, the purposes of processing, and any third parties with whom it has been shared.

How to exercise: Email privacy@cloudverest.com with subject "GDPR Access Request"

Right to RectificationArt. 16

Request correction of inaccurate or incomplete personal data. You can update your display name directly in Settings → Profile without contacting us.

How to exercise: Settings → Profile, or email privacy@cloudverest.com

Right to Erasure ("Right to be Forgotten")Art. 17

Request deletion of your Account and all associated personal data. Note: file content you uploaded to shared Projects may be subject to the project owner's retention requirements. We will delete your Account record, device records, personal preferences, and identifiable information from audit logs upon verified request. Exceptions apply where retention is required by law.

How to exercise: Email privacy@cloudverest.com with subject "GDPR Erasure Request"

Right to Restriction of ProcessingArt. 18

Request that we temporarily pause processing of your personal data — for example, while you contest the accuracy of the data or a dispute is being resolved.

How to exercise: Email privacy@cloudverest.com

Right to Data PortabilityArt. 20

Receive your personal data in a structured, commonly used, machine-readable format (JSON) to transfer to another service. Your files are always downloadable via the app or CLI.

How to exercise: In-app export, CLI download, or email privacy@cloudverest.com for a full data export

Right to ObjectArt. 21

Object to processing of your personal data that is based on our legitimate interests. We must cease processing unless we can demonstrate compelling legitimate grounds that override your interests, rights, and freedoms.

How to exercise: Email privacy@cloudverest.com

Right to Withdraw ConsentArt. 7(3)

Where processing is based on your consent, you may withdraw it at any time without affecting the lawfulness of processing before withdrawal.

How to exercise: Email privacy@cloudverest.com

Right to Lodge a ComplaintArt. 77

Lodge a complaint with your national supervisory authority if you believe we are processing your data in violation of GDPR. For Romania: ANSPDCP (see Section 14).

How to exercise: Contact ANSPDCP — www.dataprotection.ro

Response timeframe: We will respond to all data subject requests within 30 calendar days of receipt. For complex or numerous requests, we may extend this by a further 2 months — we will notify you within the initial 30-day period if an extension is needed. We will not charge a fee for reasonable requests.

10. Automated Decision-Making and Profiling

Cloudverest does not use automated decision-making or profiling (GDPR Art. 22) that produces legal effects or similarly significant effects on users. No algorithmic decisions with legal or significant impact are made about you without human review. Rate limiting decisions are automated and based on request volume from your IP address or account — these are operational security measures, not decisions about your legal rights or status.

11. Children's Privacy

The Service is not directed at children under 16 years of age. Under GDPR Art. 8 and Romanian Law no. 190/2018, the minimum age for digital consent is 16. We do not knowingly collect personal data from individuals under 16. Access to the Service requires a valid invitation token issued by an authorised administrator — this invitation-only model provides a practical barrier to underage use.

If you become aware that a child under 16 has created an Account, please contact us immediately at privacy@cloudverest.com. We will delete the Account and all associated data promptly upon verified notification.

12. Security Measures

We implement the following technical and organisational security measures to protect your personal data against unauthorised access, disclosure, alteration, and destruction:

  • Encryption in transit: All data transmitted between your device and our servers is encrypted using TLS 1.3, enforced via Cloudflare
  • Encryption at rest: All files stored in Cloudflare R2 are encrypted at rest using AES-256
  • Authentication: Firebase Authentication handles credential management with industry-standard security; all API requests require a cryptographically verified Firebase JWT (RS256)
  • Token revocation: Logout immediately invalidates your session by adding the token to a revocation list in Cloudflare KV
  • Role-based access control: Project-level, folder-level, and branch-level permissions prevent horizontal access between users and Projects
  • File locking: Pessimistic file locking prevents concurrent conflicting writes
  • Rate limiting: Per-IP and per-account rate limiting prevents brute-force and denial-of-service attempts
  • HMAC-signed WebSocket tickets: Internal WebSocket authentication uses short-lived HMAC-signed tickets (30-second expiry) to prevent token leakage via URLs
  • Input validation: All API inputs are validated server-side using Zod schemas; file names are sanitised to prevent path traversal attacks
  • Security headers: HSTS, X-Content-Type-Options, X-Frame-Options, Referrer-Policy, and Content-Security-Policy are enforced on all responses
  • Strict CORS: API responses include a strict CORS allowlist — only authorised origins may make cross-origin requests
  • Audit trail: All significant actions are immutably logged with timestamps, user identity, and IP address

No security system is impenetrable. If you discover a security vulnerability in Cloudverest, please report it responsibly and privately to security@cloudverest.com rather than disclosing it publicly. We will acknowledge receipt within 2 business days and work with you to resolve it.

13. Changes to This Policy

We may update this Privacy Policy from time to time to reflect changes in our data practices, the Service, or applicable law. When we make material changes, we will:

  • Update the "Last updated" date at the top of this page
  • Notify you via email to your registered address at least 14 days before material changes take effect
  • Display an in-app notification for active users

Your continued use of the Service after the effective date of the updated policy constitutes your acceptance of the changes. If you do not agree with the updated policy, you may request Account deletion under Section 9.

14. Contact and Supervisory Authority

Data Controller

Ritsea SRL

Registered in Romania, European Union

Product: Cloudverest  ·  Website: cloudverest.com

Contact Channels

Privacy & GDPR Requests
privacy@cloudverest.com
Data subject rights, privacy policy questions, consent withdrawal, DPA requests, data export requests
Security Vulnerabilities
security@cloudverest.com
Responsible disclosure of security vulnerabilities — please do not disclose publicly before contacting us
General Support
support@cloudverest.com
Account issues, billing questions, technical support

Supervisory Authority (Romania)

ANSPDCP — Autoritatea Națională de Supraveghere a Prelucrării Datelor cu Caracter Personal

Romania's national data protection supervisory authority.

You have the right to lodge a complaint with ANSPDCP at any time if you believe we are processing your personal data unlawfully. We encourage you to contact us first so that we can resolve any concerns directly and promptly.