Legal
Privacy Policy
In short
Your workflows run in your own Cloudflare account, not ours. Because we compile your workflow into code and deploy it to infrastructure you control, the data your workflows actually process never reaches our servers.
What we do hold is the account and editor layer: your email and name, your workflow designs, your AI assistant conversations, deployment records, billing references, and any third-party credentials you choose to store — which are always encrypted. Our public website uses Google Analytics to understand aggregate traffic only if you accept it in the cookie banner; the editor runs no analytics. We do not use it for advertising or retargeting, and we never sell personal data.
This Privacy Policy explains how (Nodes2Cloud”, “we”, “us”), handles personal data when you visit nodes2cloud.com, use the Nodes2Cloud editor at app.nodes2cloud.com, or interact with our API.
It is written to satisfy the Digital Personal Data Protection Act, 2023 (India) (“DPDP Act”), the Information Technology Act, 2000 and the SPDI Rules, 2011, the EU and UK General Data Protection Regulation (“GDPR”), and the California Consumer Privacy Act as amended (“CCPA/CPRA”). Where those laws differ, the section that applies to you is marked.
1. Who we are
For the purposes of the DPDP Act we are the Data Fiduciary; under the GDPR we are the Controller for your account data, and a Processor for the content you put into your workflows. Business customers can find our processor terms in the Data Processing Addendum.
- Trading as: Nodes2Cloud
- Privacy contact: privacy@nodes2cloud.com
We are not required to appoint a Data Protection Officer under GDPR Article 37, and we have not been notified as a Significant Data Fiduciary under the DPDP Act. Our named Grievance Officer is in section 17.
2. Why we hold so little data
This section is not a legal requirement, but it explains everything that follows. Nodes2Cloud is not a workflow-execution service. When you build a workflow, we compile your design into ordinary Cloudflare Worker source code and deploy that code into your own Cloudflare account. There is no runtime engine of ours sitting in the path of your data.
The practical consequence is that:
- The records your workflows read and write — emails, spreadsheet rows, customer records, files, API responses — flow between your Cloudflare Worker and the services you connected. They do not pass through, and are not stored by, Nodes2Cloud.
- Execution history and logs are held in your Cloudflare resources. When you view run history in our editor, we fetch it from your account using your own credential and render it. We do not keep a copy.
There are four narrow, deliberate exceptions, and we would rather state them than let the paragraph above read as an absolute:
- Live debugging. When you open the debug view, console output from your running Worker is relayed to your browser over a WebSocket in real time. It passes through our infrastructure in transit and is written to no database or log. Close the view and the relay ends.
- In-editor test runs. When you test a single node from the editor, the request is normally made by your browser. If the destination service refuses cross-origin browser requests, we make the call server-side on your behalf instead. The request and response pass through our API in transit and are not stored.
- Editor dropdowns. To offer you a list of your Google Sheets tabs, Drive folders or calendars, our API calls Google with your token and returns the names to the editor. Nothing from those calls is persisted.
- AI assistant requests. When you use the AI assistant, your request passes through our API to an AI model provider. It can include an example trigger payload: one you type yourself, or, automatically, the shape of the trigger’s saved sample payload or your last test run’s input (field names and value types only; the editor removes every value before the request leaves your browser). Section 6 explains what is sent and to whom, and section 3.5 explains what we keep.
3. What personal data we collect
3.1 Account and identity data
- Email address, name and profile picture URL. Provided by you at sign-up, or supplied by Google or GitHub if you sign in with them.
- Password. Stored only as a salted cryptographic hash. We never hold your password in a readable form.
- Verification codes. One-time codes sent by email, stored hashed and valid for ten minutes.
- Plan and workspace membership, including your role if you belong to a team.
3.2 Session and technical data
- IP address and browser user-agent, recorded against each login session. We use these to keep sessions secure and to let you recognise unfamiliar activity. IP addresses are personal data under the GDPR and we treat them as such.
- Session tokens and their expiry times.
3.3 Content you create
- Workflow designs — the graph of nodes, connections and settings you build, plus saved versions of it. Because you configure nodes yourself, a design may contain content you typed in: message templates, prompts, field mappings, spreadsheet identifiers and similar. Please do not paste personal data of others into a node’s static configuration where a runtime reference would do.
- Deployment records — which workflow was deployed when, whether it succeeded, how long it took, and the error message if it failed.
- Audit records — an append-only log of significant actions (who deployed, who changed a credential, who invited a member). Secret values are never written to it.
3.4 Billing data
- Your plan, subscription status, seat count, billing period, billing country, and the customer and subscription identifiers issued by our payment provider.
- We never see or store your card, UPI or bank details. Payment details are collected directly by Dodo Payments or Razorpay on their own hosted checkout pages. Nothing sensitive touches our servers, which is also why no card-storage or tokenisation obligation under RBI rules arises for us.
3.5 AI usage data
- A metering record for each AI assistant request: who made it, what kind it was, which mode it used, when, how many credits it cost, how many tokens it used, and its outcome. The prompt text and the workflow graph are deliberately not stored in these records. Metering records are kept for 90 days.
- An append-only ledger of AI credit grants and deductions.
- Your assistant conversation history, kept separately for each workflow: the prompts you send, the assistant’s replies, the workflow graphs it proposes, and any thumbs-up or thumbs-down feedback you give on a reply, with the optional written reason. We keep the newest 200 messages of each conversation. You can clear a conversation at any time, and it is deleted when the workflow is deleted, when your membership of the workspace is removed, or when your account is deleted. We do not use it to train models.
3.6 Support communications
If you email us, we keep the correspondence and any information in it for as long as needed to resolve your issue and to keep a record of it.
3.7 Public-site analytics
We use Google Analytics on nodes2cloud.com to understand aggregate website traffic and improve the public site, only if you consent. Until you click “Accept” in the cookie banner the Analytics script is not loaded and no Analytics cookie is set; if you reject, it never loads. Once you accept, it may process the pages you visit, referrer, browser and device information, approximate location derived from your IP address, and identifiers stored in the _ga and _ga_<id> cookies. Google Consent Mode is set so that only analytics storage is ever granted; advertising storage, ad personalisation and ad user data stay denied. You can withdraw at any time with Cookie settings in the website footer, which stops Analytics and deletes its cookies. The Analytics tag is not loaded in the Nodes2Cloud editor at app.nodes2cloud.com. We do not use this information for advertising or retargeting, combine it with Google OAuth integration data, or use it to make decisions about you. Google describes its handling of this information in the Google Privacy Policy. We do not use Meta Pixel, PostHog, Hotjar or session-replay tools.
4. Why we use your data, and on what legal basis
| Purpose | Data used | GDPR basis | DPDP basis |
|---|---|---|---|
| Create and operate your account | Account, session | Art. 6(1)(b) — contract | Consent / performance of service |
| Store, compile and deploy your workflows | Workflow content, credentials | Art. 6(1)(b) — contract | Consent / performance of service |
| Take payment and manage subscriptions | Billing | Art. 6(1)(b) and 6(1)(c) | Legal obligation, performance of service |
| Send service and security emails | Email, name | Art. 6(1)(b) — contract | Performance of service |
| Prevent abuse, fraud and unauthorised access | Session, IP, audit | Art. 6(1)(f) — legitimate interests | Legitimate use (DPDP §7) |
| Connect an optional third-party integration | OAuth tokens, integration data | Art. 6(1)(a) — consent | Consent |
| Provide the AI assistant | Your prompt, current graph (credential fields removed), example trigger payload, clarifying answers, and in Ultra mode recent conversation messages; your stored conversation history and feedback | Art. 6(1)(b) — contract | Consent / performance of service |
| Diagnose faults and keep the service reliable | Error reports, deployment records | Art. 6(1)(f) — legitimate interests | Legitimate use (DPDP §7) |
| Measure and improve the public website (only if you accept analytics cookies) | Page visits, referrer, device and browser information, approximate location | Art. 6(1)(a) — consent | Consent (DPDP §6) |
| Meet tax, accounting and legal obligations | Billing, transaction records | Art. 6(1)(c) — legal obligation | Legal obligation |
Where we rely on consent you may withdraw it at any time — disconnect the integration in the editor, use Cookie settings in the website footer for analytics, or write to us. Withdrawal does not affect processing carried out before you withdrew.
5. Google user data
If you connect a Google integration, we receive an OAuth token that lets your workflows act on your behalf. This is worth setting out precisely, because Google’s rules for the scopes we request are strict and we are held to them.
Nodes2Cloud’s use and transfer of information received from Google APIs to any other app will adhere to the Google API Services User Data Policy, including the Limited Use requirements.
In summary:
- Signing in with Google is separate from connecting an integration. Sign-in uses one OAuth client and requests only your basic profile and email. Integrations use a different OAuth client and request only the scopes for the services you chose.
- Google data goes into your own Worker, not into our database. Our servers touch it only for editor dropdowns and the test-run fallback described in section 2.
- No human at Nodes2Cloud reads your Google data, except where you explicitly ask us to for support, where it is necessary for security purposes, or where the law requires it.
- We do not transfer Google user data to third parties, do not use it for advertising, and do not use it to train AI or machine-learning models.
The full list of scopes, why each one is needed, and how to revoke access is on the Google API Limited Use page.
6. AI processing
The AI assistant that generates, edits and explains workflows sends your request to a large language model. Our API sends it directly to Anthropic’s Claude API. If Anthropic fails to complete a request, because of an outage, an error or a timeout, that same request is completed by DeepSeek’s API, operated by Hangzhou DeepSeek Artificial Intelligence Co., Ltd., which processes and stores data in the People’s Republic of China. The assistant does not use Cloudflare Workers AI. (Workflows you build can call Workers AI, but those calls run in your own Cloudflare account, not ours.)
Each assistant request can include:
- the prompt you type, and your answers to any clarifying questions the assistant asks;
- the workflow you are editing, with credential fields removed;
- an example trigger payload. If you type one into the assistant panel, it is sent with email addresses and phone numbers masked, long text cut short and fields that look like secrets removed. If you do not, the editor automatically sends the shape of the trigger’s saved sample payload or, if there is none, of your last test run’s input: field names and value types only. Every value is removed in your browser before the request is sent, and our API removes them again;
- in Ultra mode only, the recent messages of your assistant conversation for that workflow, and the assistant’s last proposal if you did not apply it.
- Your account identifiers (user id and email) are not sent.
- Under the API terms we use, Anthropic does not train its models on data submitted through its API.
- Requests completed by DeepSeek are processed in China under DeepSeek’s own terms and privacy policy.
- We do not use your assistant requests or conversation history to train models.
- We keep a metering record of each request, which does not contain the prompt or the graph, and your conversation history, as described in section 3.5.
- As with any AI feature: do not paste secrets or other people’s personal data into the assistant, and type a made-up example rather than a real one into its sample input box.
7. Credentials you store with us
To deploy a workflow we need the Cloudflare API token for your account, and any API keys or OAuth tokens the workflow’s integrations require.
- Every credential is encrypted with AES-256-GCM using a key derived uniquely for your account. The master key lives only in the platform’s secret store and is never written to the database.
- Decryption happens only on the deployment path. No API endpoint returns a credential’s value — not even to you. The editor shows metadata only.
- You can opt into enhanced protection, where the encryption key is derived on your own device from a passkey or passphrase. With that enabled we do not hold a key capable of decrypting the credential at all.
More detail is on the Security page.
8. Who we share personal data with
We do not sell personal data, and we do not share it for cross-context behavioural advertising. We have never done so.
We disclose personal data only to:
- Sub-processors who provide infrastructure on our behalf under contract. The complete, current list is published at Sub-processors.
- Services you connect yourself. When you connect Google, GitHub, Slack or any of the other integrations, data flows to that provider because you instructed it to. Their handling of it is governed by their own privacy policy.
- Professional advisers — accountants and lawyers — bound by confidentiality.
- Authorities, where we are legally compelled. We will notify you unless the law forbids it.
- A successor, if the business is sold or transferred. You will be told before your data becomes subject to a different privacy policy.
9. International data transfers
We operate on Cloudflare’s global network, so your account data may be processed outside your country, including in the United States. Transactional email is sent through Zoho ZeptoMail’s India endpoint. AI assistant requests are sent to Anthropic in the United States and, when Anthropic fails to complete a request, to DeepSeek in the People’s Republic of China (see section 6).
- Under the GDPR, transfers outside the EEA or UK are made under the European Commission’s Standard Contractual Clauses, or the UK International Data Transfer Addendum, together with the technical measures described on our Security page.
- Under the DPDP Act, transfers outside India are permitted except to countries the Central Government restricts by notification. We will comply with any such notification.
10. How long we keep your data
We keep personal data only as long as we need it, and we would rather be specific:
| Data | Retention |
|---|---|
| Email verification and password-reset codes | 10 minutes, then unusable |
| Sign-in links and OAuth connection state | 10–15 minutes |
| Login sessions (including IP and user-agent) | Until expiry or sign-out |
| Account, workflows, versions, deployment and audit records | For the life of your account, then up to 12 months after closure |
| Stored credentials | Until you delete them, or when your account is erased at the end of the 7-day deletion window |
| AI metering records (no prompt or graph) | 90 days |
| AI credit ledger | For the life of your account, then up to 12 months |
| AI assistant conversation history (prompts, replies, proposed graphs, feedback) | Newest 200 messages per workflow; deleted when you clear the conversation, or when the workflow, your workspace membership or your account is deleted |
| Invoices and transaction records | 8 years, as required by Indian tax and accounting law |
| Payment webhook records (no personal data beyond identifiers) | Retained indefinitely, to guarantee payments are never double-processed |
| Live debug output and test-run traffic | Never stored |
In plain terms: most of what we hold persists for as long as your account exists. We do not currently run an automated purge for workflow and deployment history — deletion happens when you delete the item, or when you delete your account.
11. Your rights
Exercise any of these by emailing privacy@nodes2cloud.com from the address on your account. We respond within 30 days, and we do not charge for reasonable requests.
11.1 If you are in India (DPDP Act, 2023)
- Access — a summary of the personal data we process and who we have shared it with.
- Correction and erasure — correct inaccurate data, complete incomplete data, or have data erased where it is no longer needed.
- Grievance redressal — see section 17. You must use this before approaching the Data Protection Board of India.
- Nomination — nominate someone to exercise your rights if you die or become incapacitated. Write to us to record a nominee.
- Withdraw consent — as easily as you gave it.
11.2 If you are in the EEA or UK (GDPR)
- Access, rectification and erasure.
- Restriction of processing, and objection to processing based on legitimate interests.
- Portability — your workflows can also be exported directly from the editor as a standalone project at any time, without asking us.
- Withdrawal of consent.
- The right to complain to your supervisory authority. In Ireland that is the Data Protection Commission; in the UK, the Information Commissioner’s Office.
11.3 If you are in California (CCPA/CPRA)
- The right to know what we collect, use and disclose, and to receive a copy.
- The right to delete, and the right to correct.
- The right to opt out of sale or sharing — though as stated above, we do not sell or share personal information, so there is nothing to opt out of.
- The right not to be discriminated against for exercising these rights.
We may ask you to confirm your identity before acting on a request, to be sure we are not disclosing your data to somebody else.
12. Deleting your account
You can delete your account from the Account page in the editor, or by writing to us. A request does not erase anything on the spot: it starts a 7-day grace period, we email you the date, and you can cancel from the editor at any time before then — your account keeps working in the meantime. Once the period has passed, we purge your stored credentials, workflows, versions, deployment records and personal content in a single atomic operation and close the account.
The grace period exists to protect you from a mistaken or hijacked request. It is well within the time the law allows for acting on an erasure request; if you need your data erased sooner, write to us and we will do it without the waiting period.
Three things you should know:
- Your user record is anonymised rather than removed. The row survives with its email replaced by a non-routable placeholder, so that audit and billing history remain internally consistent and so that records we are legally required to keep are not orphaned. Nothing that identifies you remains.
- If you are the sole owner of a workspace, the request is refused until you transfer ownership or delete the workspace, so that you cannot accidentally strand your teammates. If you become the sole owner during the grace period, the workspace is handed to its longest-standing remaining member when your account is erased, or deleted if nobody else is left in it.
- Any paid subscription is cancelled when your account is erased. You keep what you have paid for until the end of the current billing period.
Important: deleting your Nodes2Cloud account does not remove Workers, databases, storage buckets or other resources that were deployed into your own Cloudflare account. Those belong to you and remain under your control. Remove them from your Cloudflare dashboard if you want them gone.
13. Cookies
The Nodes2Cloud editor sets strictly necessary session cookies that keep you signed in, and no analytics cookies. Our public website sets first-party Google Analytics cookies for aggregate traffic measurement only after you accept them in the cookie banner, and you can change that choice at any time with Cookie settings in the footer. We do not use advertising or retargeting cookies. The details are on the Cookie Policy page.
14. Security
We encrypt data in transit with TLS, encrypt stored credentials with per-account keys, hash passwords and access tokens, apply a strict content security policy, and rate-limit authentication endpoints. The Security page describes the controls in full — including our view that no service should claim to be perfectly secure.
15. If there is a data breach
We maintain a written incident-response procedure. If a personal data breach occurs we will notify the relevant supervisory authority within 72 hours of becoming aware of it where the law requires, notify the Data Protection Board of India as required by the DPDP Act, and tell affected users without undue delay, describing what happened, what data was involved and what you should do.
16. Children
Nodes2Cloud is a developer tool sold to adults. It is not offered to anyone under 18, and we do not knowingly collect personal data from children. We do not conduct behavioural advertising or behavioural monitoring of any user; website analytics run only for visitors who accept them and are used in aggregate. This is how we meet the DPDP Act’s prohibitions in respect of children. If you believe a child has given us personal data, write to privacy@nodes2cloud.com and we will delete it.
17. Grievance redressal
As required by the DPDP Act and the Information Technology (Intermediary Guidelines) Rules, we have appointed a Grievance Officer:
- Designation: Grievance Officer
- Email: grievance@nodes2cloud.com
We acknowledge grievances within 72 hours and resolve them within 30 days of receipt. If you are in India and remain dissatisfied, you may complain to the Data Protection Board of India.
18. Changes to this policy
We may update this policy as the service changes. The “last updated” date at the top always reflects the current version. For changes that materially affect your rights or how we use your data, we will email account holders at least 30 days before the change takes effect. Continuing to use Nodes2Cloud after that date means you accept the updated policy.
Questions about anything here? Email privacy@nodes2cloud.com — a person reads that address.