Privacy Policy

Effective 6 September 2026. Not yet reviewed by a lawyer; it describes what the service actually does today and will be updated when that changes.

1. Who is responsible

Graphden — the website at graphden.dev, the hosted editor at app.graphden.dev, and the public demo — is operated by Artem Markov, an individual developer, who is the data controller for the personal data described here.

Contact for anything in this policy: privacy@graphden.dev.

2. What we collect, and why

Data When Why (legal basis) Kept for
Your email address and what you wrote You email us at any @graphden.dev address To answer you (legitimate interest) Until the conversation is closed, then up to 12 months
Email, username, password (stored as a bcrypt hash), and — if you use them — your Google or GitHub account identifier and the email they return You create an account To run your account and let you sign in (contract) While the account exists, plus the database backup window (section 4)
TOTP secret and recovery codes You enable two-factor sign-in Account security (contract) While enabled
Organisation membership and role You join or create an organisation To decide what you can see and do (contract) While the membership exists
The content you author: functions, bindings, branches, versions, test runs, and secrets you store You use the editor To store and run it for you — that is the service (contract). It is yours, see section 5 While the account or organisation exists. Free organisations with no sign-in and no execution for 60 days are marked and deleted 14 days later unless the owner returns. Demo organisations are deleted after one hour
Execution records (what ran, when, how long, the result or error) Your functions run To show you results and debug failures (contract) Succeeded and cancelled runs 7 days, failed runs 30 days
Usage counters per organisation (calls, executions, storage) Your functions run To enforce per-plan limits and show you usage (contract) 90 days
Server logs: IP address, user agent, requested URL, timestamp Every request Security, abuse prevention, capacity planning (legitimate interest) Rotated by size (five files of 50 MB per container); in practice days to a few weeks
Session cookie You sign in To keep you signed in (strictly necessary; no consent banner is needed for it) Until you sign out or the session expires
Feedback you send through the in-app form, and the page you sent it from You send feedback To act on it (legitimate interest) Until resolved, then up to 12 months

We use no third-party analytics, advertising trackers, or tracking pixels. If we ever add self-hosted, cookie-free analytics, this section will say so before it goes live.

3. The public demo

The demo at app.graphden.dev/?demo=1 works without an account. It runs in a shared public organisation: anything you create there is visible to other demo users and is deleted after one hour. Do not put personal data or secrets into the demo. Server logs for demo requests are kept as described in section 2.

4. Who else sees your data

We use these providers to run the service. Each processes data only on our instructions:

Provider What for Where
Vultr Holdings Corp. (The Constant Company, LLC) Servers and the managed PostgreSQL database, including its automatic backups (a short rolling window, currently up to 7 days) Frankfurt, Germany (EU)
Resend, Inc. Sending sign-up verification and account emails from noreply@graphden.dev USA
Google LLC, GitHub Inc. Only if you choose to sign in with them; they tell us your identifier and email USA, under their own privacy policies

Secrets you store in the editor are kept in a self-hosted vault (OpenBao) on our own server, encrypted at rest; no third party hosts them.

We do not sell personal data and do not share it with anyone else, unless a law or court order requires it.

5. Your content is yours

Functions and graphs you author belong to you. We store and execute them to provide the service and for nothing else. You can export your whole graph at any time from the editor (GET /api/export/graph returns it as EDN) and take it to a self-hosted Graphden instance or anywhere else.

6. Where data lives, and transfers

Your data is stored in the European Union (Frankfurt). Two things leave it: account emails are sent through Resend in the USA, and sign-in through Google or GitHub involves those companies in the USA. Each acts under its own legal framework for international transfers (the EU–US Data Privacy Framework and standard contractual clauses). We do not otherwise transfer personal data outside the EU.

7. Your rights

If you are in the EU, UK, or another jurisdiction with similar rules, you can ask us to:

  • tell you what personal data we hold about you and give you a copy;
  • correct it;
  • delete it (you can also delete your account yourself in Settings);
  • give it to you in a portable format (your graph: see section 5; account data: on request);
  • stop or restrict certain processing, or object to processing based on legitimate interest;
  • withdraw consent where processing is based on it.

Write to privacy@graphden.dev. We answer within one month. You can also complain to your local data-protection authority.

8. Security

Passwords are stored as bcrypt hashes. Traffic is encrypted in transit (TLS). Stored secrets are encrypted at rest in a dedicated vault. Access to production systems is limited to the operator. If a breach affects your personal data, we will notify you and, where required, the supervisory authority within 72 hours of becoming aware of it. Our security model and how to report a vulnerability are published in the open-source repository (SECURITY.md, SECURITY_MODEL.md).

9. Children

The service is not directed at children under 16 and we do not knowingly collect their data. If you believe a child has given us data, write to us and we will delete it.

10. Changes

We post changes here with a new effective date and, for material changes, email account holders before they take effect.