In short
We keep what running Cloud takes: your account, what you deploy, and what it costs. No advertising, no tracking in the console, and no data sold.
Cloud reads only the repositories you give it, with access tokens it never stores. Environment variables are encrypted.
Our staff can open a support session on your account for up to four hours. The console shows you who, why and until when, and it is recorded.
Cloud runs on DigitalOcean servers in Singapore. Backups are kept in Cloudflare R2.
Nothing is deleted on a schedule yet. Email us to close your account and have your data removed.
The short version is a reading aid. Where it and the full text below differ, the full text is what applies.
Who is responsible
PT Cahaves Technology International, of Bandung, Indonesia (“Cahaves”, “we”), is responsible for the personal data this policy describes. It covers Cahaves Cloud: the console, its API and shell access, the Cahaves account you sign in with, Cloud's documentation and this website.
It does not cover the data your own applications hold about their users. That data is yours: Cloud stores and runs it for you, following your instructions, and you are responsible for it towards the people it is about.
Your Cahaves account
You sign in to Cloud through Cahaves' own sign-in service, which holds your account. It keeps:
your email address and name, and whether you have confirmed the address;
your password, if you set one, only as an Argon2id hash. The password itself is never stored;
if you sign in with GitHub, your GitHub account number, verified primary email, name and avatar address. It asks GitHub for your profile and email and nothing else: signing in gives Cahaves no access to your repositories, and GitHub's access token is used once and not kept;
if you sign in with Google, your Google account number, email, name and picture, as Google signs them for the sign-in;
each session: the IP address and browser it was started from, when it started, and when it was last used;
a history of sign-ins, failed attempts and changes to your password, email or linked accounts, each with an IP address and browser. A failed attempt records the email address that was typed.
Cloud receives your account number, email, name, picture and which of Google and GitHub are linked, and refreshes them each time you sign in. It records the IP address and browser of each Cloud session as it starts.
What Cloud keeps about your work
The organizations in your account, with their names. An organization's name is shown in the console, in the emails about it, on its invoices and to Cahaves staff.
Your projects and services and their settings, each in its organization. Environment variables and database passwords are encrypted in Cloud's database. The engine that runs your services holds its own copy, because it needs them to start a service.
Compose files, stored as you wrote them and not encrypted. Put secrets in environment variables rather than in a compose file.
Each deployment, with its commit's id and the first line of its message.
The SSH public keys you add, their fingerprints and when each was last used. Cloud never has your private key.
An activity log of what was done on your account and by whom: a deployment, a new domain, a key added, a support session opened.
What each hour of your services was charged, and each organization's statement for each month: its lines, its total, how it was paid, and Paddle's transaction reference or the invoice's number. The credit and top-ups of an account from before 06:00 UTC on 14 October 2026 are kept with them.
If you add a card to an organization: Paddle's reference for the subscription that keeps it, and the card's brand, last four digits and expiry, so the console can show which card is on file. Cloud never receives the card number. It gives Paddle your account's email address and name, so its form opens with them filled in and its receipt reaches you, and Cloud's own references for your account and the organization, so each payment is matched to the organization it pays for.
If an organization is billed by invoice: the name, company, address and tax number you give for its invoices.
The notification channels you set up, encrypted, and a copy of each notification sent through them.
Support tickets you open, with your name and email, which are held in Cahaves' staff console.
For an organization billed by invoice, Cloud sends those details, the organization's name and each month's lines to Cahaves' invoicing service, where each such organization is a client of its own. The service keeps the billing details each invoice carries (your name, the organization's or company's name, address, email addresses and tax number), the invoices themselves, and the payments and receipts recorded against them.
Your repositories
To build from GitHub, you install Cahaves' GitHub App and choose which repositories it can see. Cloud asks GitHub for a short-lived access token each time it needs one and never stores it. To build, it reads a repository's file list and its package.json to work out how, and an .env.example or similar template to show which variables a new service needs. It never reads .env, and skips any file over 256 KB. For a deployment it gives the build server a token that can read that one repository and expires within an hour.
A GitLab or Gitea access token you give Cloud is passed to the engine that builds your services and kept there, not in Cloud's own database. A plain Git address must be a public repository.
What Cloud holds while it runs your services
Each build produces an image, which is stored in a container registry at GitHub under Cahaves' account.
Volumes and databases live on the servers your services run on. Backups go to Cahaves' storage at Cloudflare R2, kept apart for each customer, or to your own storage if you connect it.
Build and runtime logs are held by the engine and read live by the console, which can reach up to 30 days back. Cloud keeps no copy.
CPU, memory, network and disk figures are sampled every 30 seconds and kept for two days.
When you open a shell, Cloud records which service, which key and when. It never records what you type, and the SSH gateway does not log your IP address.
What our staff can see
Cahaves staff sign in through a separate, invitation-only part of the sign-in service. To run and support Cloud they can see your name, email and account status, your organizations and their names, and for each organization how it is billed and whether a card is on file (never its number), what its month has cost so far, its monthly limit and its statements, your projects, your services' settings apart from environment variables and compose files, counts of your deployments, and your activity log.
To act on a service, a member of staff opens a support session, which needs a reason and a support ticket and lasts four hours at most. While it is open, the console shows you a notice with their name, the reason and when it ends. In a session they can see a service's settings (again without environment variables) and its last 20 deployments, and deploy, stop or start it. Every action in a session is recorded against it. A session cannot read your logs or open a shell.
The people who operate Cloud's servers have technical access to what runs on them, as any host's administrators do. We use it only to run, repair and secure the platform.
Why we use it
To run Cloud for you: build, deploy and serve your services.
To charge for what runs, and keep a record of it.
To keep accounts and the platform safe: IP addresses are used to limit how often a request can be repeated, ten failed passwords lock an account for 15 minutes, and the activity log shows who did what.
To tell you what you need to know. Emails about a monthly limit, a payment that did not go through, a month waiting for a card, a stop or an archive for billing, or a suspension always go to your account's address, and name the organization they are about. Notices about deployments, domains and backups go only to channels you set up.
To answer you when you ask for help.
To meet our obligations under the law.
Where a law asks for a legal basis: running Cloud, charging for it, the notices and support rest on our contract with you; security rests on that contract and on our legitimate interest in a safe service; and records the law makes us keep rest on that obligation.
We do not sell personal data, use it for advertising, or build profiles of you. The console and the sign-in screens carry no analytics or tracking scripts.
Who else handles it
These companies do part of the work, and receive only what their part needs:
| Who | What they handle, and why |
|---|---|
| DigitalOcean | The servers Cloud and your services run on, in its Singapore region. |
| Cloudflare | R2 storage for backups of your volumes and nightly backups of Cloud's own databases, and the DNS for Cahaves' addresses. |
| GitHub | The GitHub App that reads your repositories, the registry that stores your build images, sign-in if you choose it, and your avatar. |
| Sign-in if you choose it, and your avatar. | |
| Paddle | Card payments for each month's statement, and payments of invoices in US dollars, as merchant of record. It receives each month's charge lines from us: the project and service names, sizes and hours. Paddle collects your card details and billing address itself and keeps your card for the monthly charge, under its own privacy policy, external link. |
| SingaPay | Payments for invoices in rupiah, by virtual account, QRIS, card or e-wallet. It receives an invoice's number and amount from us, and collects your payment details itself, under its own terms. |
| Resend | Sends Cloud's emails, and invoices and receipts, to you. |
| Zoho | Hosts Cahaves' mailboxes, so an email you send us, and our reply, are kept there. |
| Let's Encrypt | Issues certificates for your custom domains, so it receives those domain names. |
| Services you connect | Slack, Discord, Telegram, webhooks, GitLab, Gitea or your own storage receive what you configure Cloud to send them. |
We disclose personal data to an authority only when the law requires it, and we tell you when we are allowed to.
Where it is kept
Cloud's servers, and the databases on them, are in DigitalOcean's Singapore region. Cloudflare decides where R2 keeps backups. SingaPay processes payments in Indonesia. GitHub, Google, Paddle, Resend and Zoho process data in other countries, including the United States. When personal data leaves Indonesia, it goes only to these providers and only for their part of the work.
Cookies and browser storage
Cloud and the sign-in service set only the cookies they need to keep you signed in and to finish a sign-in safely. None are for advertising or analytics.
| Name | What it does, and for how long |
|---|---|
cahaves.cloud.session | Keeps you signed in to the console. 30 days. |
cahaves.cloud.organization | Remembers which of your organizations the console works in. One year. |
cahaves.cloud.oidc | Ties the sign-in you started to the one that comes back. 5 minutes, read once. |
cahaves.sso.customers.session | Your session with the sign-in service. 30 days from sign-in. |
cahaves.sso.customers.interaction | Proves the same browser started and finished a sign-in. 10 minutes. |
cahaves.sso.customers.provider_challenge | Remembers which Google or GitHub sign-in you are completing. 10 minutes. |
The pages where you add a card or pay load Paddle's own script, which works under Paddle's policy. Your avatar is loaded from Google or GitHub, so your browser contacts them to show it.
Cloud's documentation remembers your recent searches and which pages you have rated in your browser's storage. It records page views, the searches you run, and the ratings and comments you leave, without your IP address or browser. A code that changes regularly tells one visit from another without following you from day to day, and page views and searches are kept for 90 days.
This website sets no cookies, stores nothing in your browser and runs no analytics. Its fonts are served from the site itself.
How long it is kept
Cloud does not yet delete old data on a schedule. What that means for each kind of data:
| What | How long it is kept |
|---|---|
| Your account | Until you ask us to close it. |
| Your organizations and their names | Until your account is closed. |
| Sessions and sign-in history | Kept after they end, with no expiry yet. You can see your sessions and end any of them from your account. |
| Services and their settings | Until you delete the service, or Cloud archives it for billing. |
| Final backups of services archived for billing | Until the date Cloud emails you when it archives them, at least 7 days later. Then Cloud deletes them. |
| Volumes and databases | Until you delete them. Deleting a compose stack leaves its volumes in place. |
| Backups | Backups in Cahaves' storage are not removed automatically, apart from the final backups of services archived for billing. Backups in your own storage follow the count you set. |
| Build images | Every deployment adds one, and none is removed yet. |
| Logs and resource figures | Held by the engine, not by Cloud. Resource figures for two days. |
| Charges and statements | Permanent, with the credit history of an account from before 06:00 UTC on 14 October 2026. They are the financial record of what you used and paid, and Cloud's database does not allow an hour's charge to be changed or deleted. |
| The card shown in the console | Until you replace the card, or the organization no longer has one. |
| Invoices, payments and receipts | For as long as tax law requires us to keep them. They are the company's financial records, and an issued invoice is never changed or deleted. |
| Activity log | Kept, with no expiry. |
| Server request logs | They record IP addresses and are overwritten as they fill. We keep no archive of them. |
| Nightly database backups | Copies of Cloud's and the sign-in service's databases, not yet removed on a schedule. Data deleted from a database stays in the copies taken before. |
When you close your account, we remove your services, volumes, backups and build images, and the personal data both services hold about you, except your charges, your statements and the records we must keep by law. Those we keep for as long as the law requires.
How it is protected
Every connection to Cloud and the sign-in service is HTTPS.
Passwords are stored as Argon2id hashes; session and sign-in tokens only as hashes.
Environment variables, database passwords, notification settings and storage keys are encrypted in Cloud's database.
GitHub access tokens are made when needed and never stored.
Each hour's charge and the activity log cannot be edited once written.
Your rights
Indonesia's Personal Data Protection Law (Law No. 27 of 2022), and for people in the European Union or the United Kingdom the GDPR, give you rights over your personal data. You can ask us to:
tell you what we hold about you and give you a copy;
correct it;
delete it, or stop or limit using it;
withdraw a consent you gave;
give it to you in a form another service can read.
Some of this you can do yourself: change your name and email, end sessions and unlink Google or GitHub from your account, which deletes the details that provider gave the sign-in service. For the rest, email support@cahaves.com, external link from the address you sign in with. We answer within the time the law sets. You can also complain to the data protection authority where you live.
Children
Cloud is for people aged 18 and over. We do not knowingly hold personal data about anyone younger, and we delete it when we learn we do.
Changes to this policy
The date at the top says when this policy last changed. When a change affects what we collect or who receives it, we email you before it takes effect.
Contact
PT Cahaves Technology International, Bandung, Indonesia. For anything about your data, email support@cahaves.com, external link.