Privacy Policy
Privacy Policy
Last updated: 2 November 2026
This Privacy Policy explains how Seasonry ("the Service") collects, uses, and protects personal data. It is published pursuant to Articles 12–14 of the EU General Data Protection Regulation (Regulation 2016/679, "GDPR") and Act CXII of 2011 on the Right of Informational Self-Determination and on Freedom of Information ("Infotv."), the Hungarian transposition of the GDPR.
A Hungarian-language version of this notice is available at https://seasonry.app/privacy?lang=hu. The Hungarian version is the controlling text for users resident in Hungary; both versions describe the same processing operations.
1. Who we are (Data Controller)
The data controller responsible for the processing described in this notice is:
- Name: Csizmadia János
- Legal form: Sole trader (egyéni vállalkozó)
- Registration number: 62549404
- Tax number: 92203590-1-28
- Registered seat: 9086 Töltéstava, Arany János utca 9., Hungary
- Contact email: support@seasonry.app
We do not have a designated Data Protection Officer, as our processing does not meet the thresholds in GDPR Article 37(1). You may direct any data-protection question to the contact email above; we commit to a substantive response within 30 days (GDPR Article 12(3)).
2. What data we collect, why, and on what legal basis
We collect only the data needed to operate the Service. Each category below names the purpose, the legal basis under GDPR Article 6, and the practical effect of refusing.
2.1 Account data (Google sign-in)
- Data: email address, display name, profile picture URL, Google account ID. Provided by Google when you sign in.
- Purpose: authenticating you, syncing your gardens to your account across devices, restoring your data after sign-out.
- Legal basis: performance of a contract (Article 6(1)(b)): the Terms of Service you accept at sign-up.
- If you refuse: you cannot sign in with Google; you may use guest mode instead.
2.2 Anonymous session data (guest mode)
- Data: a randomly generated account identifier, and the session record that keeps you signed in to it. No email address, no name, no profile data.
- Purpose: letting you try the Service without creating an account; preserving your work locally on the device.
- Legal basis: performance of a contract (Article 6(1)(b)).
- If you refuse: you cannot use the Service.
- Note: the guest account itself exists on our servers, because something has to hold your session. Your garden content does not: it is kept in your browser and is never uploaded while you remain a guest. If you later link a Google account, the work you did as a guest moves across to it and starts syncing from that point. The guest account and its local data are deleted when you sign out.
2.3 Your garden content
- Data: garden layouts you create: plot dimensions, areas, plants placed, custom plants you author (name, scientific name, dimensions, notes), object placements, colours, notes. If you choose to set one, a garden also carries its compass orientation and the approximate geographic coordinates of the plot, so the sun-path overlay can work out the sun's height and the length of the day where you actually garden. You supply those coordinates yourself, by aligning the compass, or by pasting two map coordinates when calibrating a traced plot. We never read them from your device. The care plan you keep in the Tasks panel is garden content too: which jobs you put on which days, which you marked done, and which plants a job is not needed for this year.
- Purpose: storing and syncing your work; restoring it on another device when you sign in; calculating the sun path for a garden whose location you have set.
- Legal basis: performance of a contract (Article 6(1)(b)).
- If you refuse: garden content is necessary for the Service to function. Coordinates are not: leave them unset and every other feature works, without the sun path.
- Reference pictures stay on your device: if you trace a plot from a map screenshot, that picture is read and measured inside your browser. It is never uploaded to us and never saved into the garden. It does wait in your browser between visits so a reload cannot lose it, and is deleted when you put the map away, when the garden goes, when you sign out, or by itself after seven days (see § 7). Only the outline you draw and the scale you set are kept.
2.4 Custom plants you create
- Data: when you save a custom plant, we record what you called it, the scientific name if you entered one, and the plant's characteristics: its category, its light and watering needs, whether it is perennial, a rough size band, how many months of the year it flowers, and which catalog plant you started from, if any. The two names are text you typed, and we do say so plainly here rather than describing this as anonymous: the record carries the same pseudonymous key as the rest of our product analytics (§ 2.6), so it is not linked to your name or email, but it is not unlinked from your account either. Nothing else from the plant is recorded: not your private note about it, not its colours, and not which garden it went into.
- Purpose: finding out which plants are missing from our built-in catalog, so we can add them. A plant you had to create by hand is the clearest evidence that our catalog has a gap, and the name is the only part of the record that says which plant we are missing.
- Legal basis: legitimate interest (Article 6(1)(f)): building a catalog that covers the plants people actually grow. You may object to this processing at any time at support@seasonry.app (Article 21), and we will stop recording it for your account.
- Retention: kept as part of product analytics and deleted with it after 6 months (§ 5), whether or not we have got round to reading it.
2.5 Crash reports
- Data: stack traces, browser type, operating system, the URL where the error occurred, and a short trail of what happened immediately before it: console messages, network requests, and which interface controls were used, identified by their label or type, never by anything you typed. IP addresses are not transmitted, and any location derived from them is removed on receipt. No user IDs are attached. Addresses that identify a specific garden or a shared caretaker page are replaced with a generic placeholder before the report leaves your browser.
- Also reported: a browser tab that is terminated without warning, typically because the device ran out of memory, runs no code as it dies and so can report nothing at the time. To notice these at all, the Service keeps a small record on your device while you use it (see § 7) and, on your next visit, sends a report describing the session that vanished: the screen you were on, how much drawing memory was in use, and a few counters about the drawing canvas. It carries no identifier and nothing about your gardens.
- Purpose: detecting and fixing bugs that affect users.
- Legal basis: legitimate interest (Article 6(1)(f)): operating a stable, secure service. Crash reports do not identify individual users.
2.6 Product analytics
- Data: pseudonymous usage events: which screens you open, which features and tools you use, which catalogue plants you place on a plan, catalogue searches (we keep the words you typed only when a search found nothing, so we can see which plants people cannot find), whether an upgrade prompt was shown and whether you acted on it, academy and care-task activity, and page-performance measurements (how quickly pages load and respond). Alongside them we record coarse technical context: app language, web vs. mobile, plan type, and the country derived from your IP (the IP itself is never stored). Each event is tagged with a pseudonymous key derived from your account by a one-way function. That key cannot be reversed to your identity without a secret we hold separately, and the analytics records themselves contain no name, e-mail, or IP address. There are two records for which we store no key of any kind. The people who open these pages need no account, and we do not create one for them. Such a record is made when someone opens a shared garden page (§ 2.10) or a blog post. When a blog post is opened, apart from the count we store only which post was opened and in which language; whether the reader came from a search engine, a social site, another Seasonry page, somewhere else or directly; whether they opened it on a phone, a tablet or a computer; and which country they came from. If the reader is signed in, we still do not link this count to their account. Nothing is stored on or read from your device for this purpose.
- Purpose: understanding how the product is actually used: which features earn their place, where people get stuck, and how well the Service performs, so we can improve it.
- Legal basis: legitimate interest (Article 6(1)(f)): improving the Service for all users. The data is analysed in aggregate; the pseudonymous key lets us follow a usage journey without ever identifying you. You may object to this processing at any time at support@seasonry.app (Article 21). Because nothing is stored on your device, this processing does not require consent under the ePrivacy Directive as implemented in Hungary (Elkertv. § 13/A).
- Retention: individual events are kept for 6 months and then deleted; only aggregate daily counts, which carry no pseudonymous key, are kept longer. If you delete your account the key can no longer be derived, so your past events become permanently unlinkable.
2.7 Billing and subscription data (Seasonry+ and credit packs)
- Data: your Stripe customer and subscription identifiers, the plan and billing period you chose, the subscription status, the date the current period ends, and whether the subscription is set to cancel at that date. When you buy a credit pack, we store the Stripe identifiers of the payment and of the checkout session, and which credit pack you bought. If you redeem a promotional or gift code, we also keep a record that your account redeemed that code, what it granted (a discount percentage, free access until a date, or credits for Garden Visual), and when, so that a code cannot be redeemed twice and so we can answer questions about your price or your credits. Stripe separately holds the billing details you enter at checkout (name, email address, billing address, and card data). We never receive or store your card number. Because Hungarian law requires us to issue an invoice for every payment, checkout asks for a full billing address, and we do receive your name, billing address and email address in order to have that invoice issued (see § 3, Billingo). Of those, the only one we keep in our own database is the email address the invoice was sent to; the invoice itself, which carries your name and billing address as an invoice must, is stored as a PDF in our own EU storage, because the retention duty for it is ours and not our invoicing provider's. When you delete your account we erase that delivery email address. Issued invoices are kept for the statutory period (§ 5), and we also keep, without the email address, the record of a payment for which no invoice has been issued yet, or for which none was needed: it shows that we still owe an invoice for that payment, or why none had to be issued. For every payment we additionally record where the sale took place, because VAT rules make that a question we must still be able to answer years later: the country your internet connection resolved to at checkout, the country of the card used, the country in your billing address, and the amount and currency.
- Purpose: taking payment, unlocking the features you paid for, showing your plan and renewal date in Profile, and meeting our invoicing and accounting obligations.
- Legal basis: performance of a contract (Article 6(1)(b)) for taking payment and providing the paid tier; legal obligation (Article 6(1)(c)) for retaining accounting records.
- If you refuse: you cannot subscribe to Seasonry+ or buy credit packs. Seasonry Basic remains fully available and requires no payment method.
- Withdrawing from a purchase: if you exercise your 14-day right of withdrawal (Terms § 3.2), we record the details of your withdrawal statement: the name and email address on your account, which purchase you withdrew from and when, when the contract was concluded, the amount paid and its currency, how much of the service you had used or how many credits you had spent by then, and the amount to be refunded. We also record when we acknowledged your withdrawal statement and when the refund was made. We send you the acknowledgement by email. We process this data to give effect to the withdrawal, to account for the refund, and to be able to prove both later, in order to comply with a legal obligation (GDPR Article 6(1)(c); Government Decree 45/2014 (II. 26.)).
2.8 Security and abuse-prevention records
- Data: your IP address, your browser's user-agent string, your account identifier, and the time and type of security-relevant events, for example signing in and out, linking an account, deleting a garden or an account, redeeming a code, a billing event such as a failed payment or a refund, and requests refused by a rate limit or a plan limit. Alongside these we keep short-lived counters used to enforce the limits themselves: how many requests your account has made today, and how many password attempts a shared care link has received in the current hour. A correct password clears that count.
- Purpose: keeping the Service available and safe: stopping runaway clients and automated abuse, making repeated password guessing against a shared link impractical, and being able to investigate a suspected incident or reconstruct what happened to an account.
- Legal basis: legitimate interest (Article 6(1)(f)): securing the Service and the data of everyone using it, an interest GDPR Recital 49 recognises expressly. We keep the minimum that makes the record useful and delete it on the schedule in § 5.
- A note on the challenge widget: Signing in, opening a shared garden, and writing to us through the contact form while signed out may show a Cloudflare Turnstile challenge to establish that you are not an automated client. Cloudflare processes your IP address and browser characteristics to score the request. Turnstile is a privacy-preserving alternative to a conventional CAPTCHA: it does not profile you across sites and is not used for advertising.
2.9 Shared care plans (Vacation Mode)
- Data: when you share a garden's care plan, we store a snapshot of that garden's plan and watering list, the dates the share opens and closes, the display name shown to your caretaker, the instructions you write for them, and a one-way hash of the password you set, never the password itself. When a caretaker opens the link, we record which share was opened and when it was first and last opened, and count password attempts against that link so it can be paused after repeated guessing. A correct password clears the count, so an occasional mistyped one never carries forward.
- Purpose: delivering the share you asked us to create, showing you whether your caretaker has opened it, and protecting the shared garden from being guessed open.
- Legal basis: performance of a contract (Article 6(1)(b)) for the share itself; legitimate interest (Article 6(1)(f)) for the access record and the attempt count that keep the share secure.
- If you are a caretaker: you do not need an account to open a share, and we do not create a profile of you. If you are signed in when you open one, we record that your account has access to that share so it appears in your own list.
2.10 Gardens you publish (a shared garden page)
- Data: when you share a garden, we store a snapshot of that garden (its beds, paths, plants, objects, fences and the notes written on them) and serve it at an unguessable link. We also store what you chose for that share: the name you asked to be credited as (blank means none, and we never fill it in from your account), whether visitors may start their own copy, whether the plant list and plant names are shown, and, on Seasonry+, which extra views the page carries and which month it opens in. If you go further and publish the garden, we also store the title and description you write for it and the date you published. A preview picture is rendered on your own device and stored so that chat apps and search results can show it. If you allow it, the pictures you made with Garden Visual also appear on the garden's page (§ 2.12).
- Purpose: serving the page you asked us to create and, only once you publish, allowing it to appear in search results and in anything we list publicly.
- Legal basis: performance of a contract (Article 6(1)(b)). Everything in this section happens because you asked for it, and nothing in it happens by default.
- What the page does not carry: your name unless you typed one, your email address, your account, when you last worked on the garden, and the garden's real identifier. It does not carry your garden's exact location: the longitude is dropped entirely and the latitude is rounded to whole degrees, which is enough to draw the sun correctly and is a band roughly 111 km wide rather than a place. If you traced your plot from a map, that imagery never leaves your device and is not part of the snapshot.
- A published garden may appear in search. Sharing alone does not: a shared link is unlisted, and only you can hand it out. Publishing is a separate, explicit step, and you can undo it: Unpublish removes the page from search and leaves the link working, and Stop sharing switches the link off for everyone.
- Stopping is immediate. We stop serving the page from the next request, and the preview picture is deleted rather than merely unlinked, so it stops appearing in conversations the link was pasted into. Search engines may keep a copy in their own index for a while; we tell them the page is gone, which is the fastest signal available to us.
- If you open somebody else's shared garden: you do not need an account, we do not create one for you, and we do not build a profile of you. We count that a page was opened, and alongside that count we keep only which kind of site the link was followed from (a search engine, a social or chat site, somewhere else, or nowhere at all) and the country your internet connection resolves to. We work that category out from the address your browser reports as the referring page and then discard it: we do not store the referring address, which could otherwise reveal a search you typed or a private group you belong to. The count carries no identifier of any kind: not an account, not a pseudonymous key, not your IP address, and not the identifier of the garden you opened. So it can tell us how often shared gardens are opened and cannot tell us who opened which one, or that the same person came back. Nothing is stored on or read from your device for this purpose.
- If you ask us to delete your account, any garden you have shared stops being served straight away, rather than at the end of the 30-day recovery window described in § 5. The page comes back by itself if you restore the account within that window.
2.11 Messages you send us
- Data: the message you write in the in-app contact, feedback or plant-report form, the e-mail address you give us to reply to, your account identifier if you are signed in, your app language, the plant the report concerns where applicable, and, for abuse prevention, your IP address and browser user-agent string. Each message gets a reference code so you can quote it to us. If you report a problem with a Garden Visual picture, we store with the report a copy of the picture, of the data it is based on (the garden's plan and the viewpoint it was made from) and of your garden's current plan, and, if you leave the box ticked, your browser type, the window size, the screen's pixel density, the app's version and the errors related to Garden Visual that occurred during the session. We delete these when the report is closed, whether because the problem has been fixed or because the report has become obsolete, and when your account is deleted.
- Purpose: answering you, keeping a record of what was asked and what we replied, correcting plant data you report as wrong, and meeting our consumer-complaint record-keeping obligations.
- Legal basis: legitimate interest (Article 6(1)(f)) for handling ordinary correspondence; legal obligation (Article 6(1)(c)) where the message is a consumer complaint we must log (Fgytv. § 17/A).
2.12 Garden Visual pictures and credits
- Data: when you use Garden Visual to make a picture of one of your gardens, we store the viewpoint's details: which garden it belongs to, where the viewer stands and which way they face, and the viewpoint's number and, if you gave it one, its name. For every picture you ask for, we record which season you asked for and when, which version of the garden it was made from, whether it was made successfully (with AI Enhance, also whether the enhancement succeeded) and, if not, why it failed. We also store the picture itself and a smaller copy of it. For every picture we also store what it was made from: the garden's plan at the time, the viewpoint and the list of plant pictures used, so that a picture reported as faulty can be recreated exactly. These are deleted together with the picture. With AI Enhance, we keep the original picture beside the enhanced one, so that a picture reported as faulty can be compared with it, and delete it together with the picture. Every change to your credit balance is recorded as a separate entry, including credits granted for Seasonry+ months, credit pack purchases, credits deducted for pictures, credits withdrawn because of a refund, and corrections made by our support. For each, we also record which order, invoice or payment it relates to. On a yearly subscription, we also record how many months' credits have been granted so far.
- How a picture is made: from the garden's data we already hold (§ 2.3), on Cloudflare's infrastructure, on our behalf (§ 3). For this we pass neither the garden's data nor the finished picture to anyone else, unless you ask for AI Enhance.
- AI Enhance: if you turn it on for an order, the finished picture is made more lifelike by OpenAI's image model, which Cloudflare uses as its sub-processor (§ 3).
- Who sees it: Only you can see your pictures, except those you put on the page of a shared garden. If you allow certain pictures to appear for a shared garden, the newest picture of each season among them, and the picture showing the four seasons together, can be seen by anyone who has access to the link; earlier versions cannot. The same applies to the picture the link opens on and the picture its preview shows. These pictures can be seen for as long as the sharing is active and sharing of the picture is turned on for it: if you stop the sharing, turn off sharing of the picture or delete the picture, they become unavailable at once. We mark the pictures so that search engines do not include them in their results. Our support can access your credit balance and its changes in order to answer your questions and correct any errors. Every correction is recorded as a new entry with a reason; earlier entries are never changed. If you report a problem with a picture, our support also views the picture and the plan it was made from, and for an enhanced picture its original version too, until we close the report.
- Purpose: making, storing and showing the pictures you ask for, and keeping a record of credits so that credits are deducted only for pictures made successfully.
- Legal basis: performance of a contract (GDPR Article 6(1)(b)). Payment and billing data relating to credit packs is covered by § 2.7.
- If you refuse: you cannot make Garden Visual pictures. The rest of the Service can be used as before.
We do not collect: location from your device's satellite, Wi-Fi or cell positioning (we never ask your browser for location permission; the only coordinates we ever hold are ones you type in yourself for a garden, described in § 2.3), contacts, card numbers or other card data (Stripe processes Seasonry+ payments and handles card details directly; see § 2.7), advertising identifiers, biometric data, health data, or any special-category data under GDPR Article 9.
3. Sub-processors
We rely on the following service providers to operate the Service. Each is bound by a Data Processing Agreement that meets GDPR Article 28 requirements.
| Sub-processor | Role | Location | Transfer safeguard |
|---|---|---|---|
| Cloudflare, Inc. | Authentication backend (runs our first-party Better Auth library on Cloudflare Workers), application database (Cloudflare D1; EU data region), application hosting (Cloudflare Workers), CDN, product analytics (first-party, in our own Cloudflare D1), bot protection and rate limiting (Cloudflare Turnstile, see § 2.8), making Garden Visual pictures, AI Enhance, and storing the pictures (Western Europe; see § 2.12) | US (company) / EU (D1 data region) | Standard Contractual Clauses (Commission Decision 2021/914) + Data Privacy Framework certification |
| Google Ireland Ltd. | Google sign-in (OAuth), only if you choose to sign in with Google; provides your email, name, and profile picture | EU/US | Standard Contractual Clauses + Data Privacy Framework certification |
| Stripe Payments Europe, Ltd. | Processing payments for Seasonry+ subscriptions and credit pack purchases: checkout, card data, billing details, invoices, and subscription status; only if you subscribe or buy a credit pack | EU (Ireland) / US (Stripe, LLC) | Standard Contractual Clauses (Commission Decision 2021/914) + Data Privacy Framework certification |
| Billingo Technologies Zrt. | Invoicing: issues the Hungarian VAT invoice (számla) for each payment for a Seasonry+ subscription or a credit pack purchase and transmits it to the Hungarian tax authority (NAV Online Számla) as the law requires; processes your name, billing address and email address; only if you subscribe or buy a credit pack | Hungary (EU) | Processing stays within the EU; no Chapter V transfer arises |
| Functional Software, Inc. (Sentry) | Crash report ingestion | EU (Germany; company US) | Standard Contractual Clauses + Sentry's EU data region, which we have elected |
| Resend (Plus Five Five, Inc.) | Transactional email: delivers the message you send through the in-app contact/support form, any confirmation email, the acknowledgement of a withdrawal, purchase confirmation emails, and your invoice as a PDF attachment; processes your email address, message content, and the name and billing address printed on the invoice | US (company) / EU (Ireland sending region) | Standard Contractual Clauses (Commission Decision 2021/914) + Data Privacy Framework certification |
We keep this list current: a new or changed sub-processor is added here, and the change is recorded in the version history at the foot of this page, so you can always see who we rely on. We do not email everyone about it. If you would like to be told before it happens, write to support@seasonry.app and we will tell you.
4. International transfers
The Service's backend (authentication, database, and hosting) runs on Cloudflare's infrastructure, with the application database (Cloudflare D1) pinned to an EU data region and the invoice archive and Garden Visual pictures stored in Western Europe. Crash reports are stored in Sentry's EU data region (Germany). Transactional email for the contact form is sent through Resend (EU/Ireland sending region). For payments for Seasonry+ subscriptions and credit pack purchases our contracting party is Stripe Payments Europe, Ltd., based in Ireland.
These providers are established in, or belong to groups established in, the United States, so processing on Cloudflare's global network, account-level metadata held by Sentry outside its EU data region, Stripe's intra-group processing, Resend's email delivery, and the processing of pictures ordered with AI Enhance may still involve a transfer to the United States. These providers rely on the European Commission's Standard Contractual Clauses (2021/914/EU) and, where applicable, EU–US Data Privacy Framework certification, plus supplementary technical measures (encryption in transit and at rest, IP scrubbing, no user identifiers transmitted to analytics or crash reporting), to meet the requirements of GDPR Chapter V.
5. Retention
| Data | Retention |
|---|---|
| Account data and gardens | Until you delete your account or request deletion; thereafter, a 30-day grace period for accidental-deletion recovery and dispute resolution, after which we hard-delete |
| Anonymous (guest) data | Deleted from your device when you sign out; the anonymous account is also deleted at that point. A guest account that is never signed out, holds no gardens and has had no live session for 30 days is deleted automatically as well |
| Database backups | Up to 30 days. Our own daily backup, held outside the application, is deleted automatically after 30 days; our hosting provider keeps a shorter rolling recovery window on top of it |
| Crash reports | 30 days, then automatically purged |
| Billing and accounting records (Seasonry+ and credit packs) | Retained for the period Hungarian accounting law requires (Act C of 2000 § 169, currently 8 years for accounting documents), independently of account deletion |
| Issued invoices and their PDF copies (Seasonry+ and credit packs) | The same statutory 8 years, in our own storage in the EU (Western Europe). Deleting your account erases the email address the invoice was delivered to; the issued invoice, its number, amounts and dates are kept, because that is the document the law requires us to hold. We also keep, without the email address, the record of a payment for which no invoice has been issued yet, or for which none was needed, because it shows that we still owe an invoice for that payment, or why none was needed. |
| Product analytics (pseudonymous events) | Individual events: 6 months, then deleted. Aggregate daily counts (no pseudonymous key): retained. Past events become permanently unlinkable once the account is deleted |
| Email correspondence with support | 1 year after the matter is resolved, unless a longer period is required by law (e.g. consumer-complaint records under Fgytv. § 17/A: 3 years) |
| Messages sent through the in-app form (§ 2.11) | The IP address and user-agent stored with a message are erased automatically after 90 days; the message itself follows the limits above, applied on request or on review, and is deleted automatically after 4 years in any case |
| Security audit records: IP, user-agent, account, event (§ 2.8) | 90 days, then automatically purged by a nightly job |
| Rate-limit and request counters (§ 2.8) | Request counters: the current and previous day only. Unlock-attempt counters for a shared link: the current and previous hour only, and cleared outright by a correct password. Both are pruned automatically |
| Place-of-supply evidence for a payment (§ 2.7) | Kept for as long as the VAT treatment of that sale can still be questioned, and deliberately left out of the automatic deletion sweeps for that reason |
| Withdrawal statements (§ 2.7) | As long as the invoice for the purchase concerned, whether or not the account is deleted. When the account is deleted, we erase the name and email address connected with the statement; we keep the rest, because it proves the withdrawal and the refund. |
| Shared care plans (§ 2.9) | Until you end the share or its closing date passes; the snapshot and the caretaker access record are deleted with it |
| A shared garden page (§ 2.10) | Until you stop sharing it, delete the garden, or delete your account. We keep the record of a stopped share for 30 days so we can answer a question about when it stopped, and then delete it; the preview picture is deleted when you stop sharing, not 30 days later |
| Garden Visual pictures and viewpoints (§ 2.12) | Until you delete the picture, the viewpoint, the garden or your account. A picture you delete is deleted at once. When a garden is deleted, its pictures are removed in the next nightly deletion run. When your account is deleted, the pictures are deleted together with the gardens, at the end of the 30-day grace period. The details of a failed picture request are deleted after 30 days, and a viewpoint left with no picture in the next nightly deletion run. |
| Credits and their changes (§ 2.12) | Until your account is deleted. At the end of the 30-day grace period we permanently delete this data together with the account, and any unused credits also end. Invoices and records relating to credit packs are kept for the accounting retention period above. |
Deleting your account removes your gardens, preferences, entitlements, shares, Garden Visual pictures, credit records and sessions. A few records deliberately outlive it, each only for as long as its own purpose requires: security audit entries (up to 90 days after the event, so an incident can still be investigated), a record that a promotional or gift code was redeemed (so a one-use code cannot be redeemed again through a new account), messages you sent us and our replies (see the rows above), the details of withdrawal statements, without your name and email address (they prove the withdrawal and the refund), and billing and accounting records, which Hungarian accounting law requires us to keep. None of these is used to rebuild a profile of you, and the audit entries expire on their own.
6. Your rights
Under GDPR Articles 15–22 you have the right to:
- Access the personal data we hold about you (Article 15)
- Rectify inaccurate data (Article 16)
- Erase your data ("right to be forgotten") (Article 17). You can delete your account yourself from
Profile → Account → Delete account, which is the fastest route and needs nothing further from you. You may also ask us by email, from the address on your account: we have to be able to tell that a request really is yours, so one arriving from any other address is one we will ask you to confirm before acting on it - Restrict processing in certain cases (Article 18)
- Data portability: receive your data in a structured, machine-readable format (Article 20). For garden content, email us and we will provide a JSON export within 30 days
- Object to processing based on legitimate interest, including the telemetry, crash reporting, and analytics described in §§ 2.4–2.6, the security and abuse-prevention records in § 2.8, and the correspondence handling in § 2.11 (Article 21). Where an objection would leave the Service unable to protect itself or other users (the security records in § 2.8 are the clearest case), we will tell you so and explain why, rather than silently declining
- Not be subject to automated decisions producing legal effects (Article 22). We do not perform any such processing
To exercise any of these rights, email support@seasonry.app. We will respond within 30 days (extendable by two months for complex requests, with notice).
You also have the right to lodge a complaint with the Hungarian supervisory authority:
Nemzeti Adatvédelmi és Információszabadság Hatóság (NAIH)
1055 Budapest, Falk Miksa utca 9–11.
Postal: 1363 Budapest, Pf. 9.
Tel: +36 (1) 391-1400
Email: ugyfelszolgalat@naih.hu
Web: https://naih.hu
If you reside in another EU/EEA Member State, you may instead lodge your complaint with the supervisory authority of your country.
7. Cookies and similar technologies
The Service uses only strictly necessary storage on your device:
- Authentication session (Better Auth): a cookie that keeps you signed in. It is
HttpOnlyandSameSite=Lax, so it cannot be read by scripts and is not sent from other sites. It lasts 30 days from your last use and slides forward as you keep using the Service; signing out clears it immediately. - Local application state (
localStorage): your garden data while offline, so the app keeps working without a connection, plus small preferences: your chosen language, which academy lessons you have marked complete, accessibility settings such as whether single-key shortcuts are on, and the identifiers that let work you did as a guest follow you into a Google account. - Offline content cache (IndexedDB): the plant care guides, held encrypted so the app works without a connection. Cleared when you sign out or delete your account.
- Trace pictures (IndexedDB): if you use "trace it from a map", the picture you import waits in your browser so that reloading the page does not lose it. It is never uploaded to us, never becomes part of your garden, and never leaves your device. It is deleted when you put the map away, when you delete that garden, when you sign out, when you delete your account, or by itself after seven days.
- Crash diagnostics (
localStorage, keyseasonry.tabAlive): on the public site only, a small record holding the screen you are on, a drawing-memory measurement and a few counters. It is rewritten every couple of seconds and marked as ended when the page closes normally, so that on your next visit a record that was never marked as ended tells us the browser terminated the tab without warning, something that is otherwise impossible to detect, because a tab that is killed runs no code. It contains no identifier and nothing about your gardens, and is overwritten on every page load. See § 2.5. - How you are navigating (
sessionStorage): a single word recording whether you last used a keyboard or a pointer, so the focus outline appears for keyboard users and stays out of the way for everyone else. It holds nothing else, and the browser discards it when the tab closes. - Bot-protection challenge (Cloudflare Turnstile): when signing in, opening a shared garden, or writing to us while signed out, Cloudflare may store a short-lived token confirming that the challenge was passed, so you are not asked again on every request. See § 2.8.
None of these are used for tracking, advertising, or cross-site identification. Under Article 5(3) of the ePrivacy Directive as transposed by Elkertv. § 13/A, storage that is strictly necessary to provide the service you asked for does not require consent; we rely on that exemption for all seven, including the crash-diagnostics record, which exists solely to keep the Service stable and is never read for any other purpose.
We do not use third-party tracking cookies, advertising IDs, or cross-site tracking.
8. Security
We protect your data through:
- Encryption in transit: every connection to the Service is encrypted (HTTPS).
- Encryption at rest: everything we store is encrypted at rest.
- Access control: every database query is scoped server-side to your authenticated account; no user can read or write another user's data.
- Minimisation: we collect only the data described in § 2.
- Abuse limits: public endpoints are rate-limited by IP address and each account by its daily request volume, so one client cannot degrade the Service for everyone else; a shared care link pauses itself after repeated wrong passwords. See § 2.8.
No system is perfectly secure. If we discover a personal-data breach likely to result in risk to your rights and freedoms, we will notify you and NAIH within 72 hours of becoming aware of it (GDPR Articles 33–34).
9. Children
The Service is not directed at children. Hungary has set the age of digital consent under GDPR Article 8 to 16 years. If you are under 16 and reside in Hungary, please do not create an account without your parent's or guardian's consent. If we become aware that we hold data on a child under 16 without proper consent, we will delete that data.
10. Changes to this policy
We may update this Privacy Policy from time to time. When we do:
- The "Last updated" date at the top changes.
- The change is logged in the version history at the bottom of this page.
- If a new feature brings new processing, we update this policy when the feature launches. That processing applies only to those who use the feature.
- If we were to use data you have already given us for a new purpose, we tell you in the application before we start (GDPR Article 13(3)), and where that needs your consent, we ask for it separately.
- We do not email every user about policy changes. Where the law requires a change to reach you individually, we send it to the address on your account.
Continued use of the Service after a non-material update constitutes acknowledgement of the revised policy.
11. Contact
For any privacy-related question or to exercise any right above:
Email: support@seasonry.app
We respond to all requests within 30 days.
Version history
| Date | Change |
|---|---|
| 20 August 2026 | First published version. |
| 15 September 2026 | You can now share a garden at a public link. New § 2.10 says what a shared page carries, what it leaves out (your name unless you type one, your email, your account, and your garden's exact location), that sharing alone is not searchable, and that stopping a share takes the preview picture down with it. It also says what happens if you are the one opening somebody else's shared garden: we count the visit with no identifier of any kind attached, keeping only the kind of site the link came from and your country. |
| 27 September 2026 | If you delete your account, we no longer delete the record of a payment for which no invoice has been issued yet, or for which none was needed: we keep it without your email address, because it shows that we still owe you an invoice, or why none had to be issued. |
| 3 October 2026 | If you withdraw from a purchase within 14 days, § 2.7 sets out what we record about your withdrawal statement, and § 5 how long we keep it. After your account is deleted we erase the name and email address, but keep the remaining details to prove the withdrawal and the refund. |
| 15 October 2026 | § 2.3 now names the care plan you keep in the Garden Almanac, which is stored with your account so it follows you to every device you sign in on. |
| 24 October 2026 | We corrected the names of the Stripe and Resend companies that handle your data, and § 3 now also states that Resend is certified under the EU–US Data Privacy Framework. |
| 25 October 2026 | New § 2.12 on Garden Visual: what data we store about viewpoints, pictures and credits, who can access it, and how long we keep it. § 2.7, the list of processors and the retention table now cover credit packs too. § 2.7 also names codes that add credits. § 2.11 and § 2.12 also say what a Garden Visual problem report stores, who sees it and when it is deleted, and that every picture keeps what it was made from. |
| 31 October 2026 | If a new feature brings new processing, we update this policy when it launches. If we were to use your existing data for a new purpose, we still tell you first (§ 10). |
| 31 October 2026 | If you turn on AI Enhance for a Garden Visual order, the finished picture is made more lifelike by OpenAI's image model, which Cloudflare uses as its sub-processor, and this may involve a transfer to the United States. We keep the original next to the enhanced picture, and delete it with the picture (§§ 2.12, 3 and 4). |
| 31 October 2026 | The page of a shared garden can now show the pictures you made with Garden Visual: those you allow to appear, and the link can open on one of them. Sections 2.10 and 2.12 say which pictures can be seen, who can see them, and when they stop being visible. |
| 2 November 2026 | We now count how often blog posts are opened. We store no identifier for this: only which post was opened, where the reader came from, what kind of device they opened the page on, and which country they came from (§ 2.6). |