This privacy policy explains how Diora ("Diora", "we", "us", or "our") collects, uses, and protects information about you. It covers the Diora app for iOS and Android, our website at joindiora.com, Diora Business at business.joindiora.com, and the checkout on shops that sell through Diora on the web. Diora is a plant collection tracker built for rare plant collectors. It includes optional social features: a public profile, following other collectors, sharing individual plants and breeding programs at a visibility level you choose, offering pollen, and direct messaging, described in section 9. By creating an account and using the app, you agree to the practices described below.
Bought from a shop on the web without a Diora account? Section 14 is written for you. It says what the checkout collects, who receives it, how long it is kept, and how to have it removed.
1. Who runs Diora
Diora is built and operated by Beebles, an Australian company. You can reach us at support@joindiora.com for any privacy question, request, or concern.
2. What we collect
We collect only what is necessary to make the app work, keep your data secure, and diagnose problems.
- Account information. Your email address. You can sign in three ways: a passwordless magic link sent to your email, Sign in with Apple, or Sign in with Google. We do not store passwords. When you use Apple or Google sign-in, that provider authenticates you and passes us a sign-in token and your email address (and, on the first Apple sign-in, your name if you allow it). The magic-link, Apple, and Google flows are handled by our authentication provider on our behalf.
- Profile information. A display name, a unique username (your
@handle), an optional short bio, and an optional profile photo (avatar). Unlike your private plant records, your profile is part of the social layer: when another collector views your profile or sees you in a follow list, feed, pollen offer, or message thread, they see your display name, username, and avatar. See section 9 for how the social features work and how you control them. - Plant data. Everything you choose to enter about each plant: the species (either chosen from our catalogue or typed as free text), nickname, where it came from (source text), acquired date, notes, current status (active, sold, given, died, lost), and the history of status changes. This data belongs to you. We store it so the app can show it to you across sessions and devices.
- Plant events. The chronological log of things that have happened to each plant. Each entry is a photo, a note, or a status change, with the date you recorded it and an optional date for when it happened in real life.
- Photos. Photos of plants you upload to the app, and your profile photo (avatar) if you set one. We extract the original capture date from a plant photo's EXIF metadata so the timeline can sort accurately. We strip GPS coordinates from every photo before it is stored. We also strip other EXIF fields, such as camera model and exposure data: the app re-encodes each photo on upload, which destroys the embedded EXIF block. Only the capture date is preserved, and it is stored as a separate field rather than as embedded EXIF. To reduce data use and storage, photos are also resized and a smaller thumbnail is generated on upload. Your avatar, if set, is stored in a public-read bucket so that other collectors who can see your profile can load it: see section 9.
- Social content. If you use the social features (section 9), we store what you create there: which accounts you follow and who follows you, the visibility level you set on each plant and breeding program, pollen offers you post and the replies on them, and the messages you send and receive in direct conversations. We also store accounts you have blocked.
- Delivery details. Collectors can sell plants to each other on Diora. If you buy a plant that is being posted to you, we collect the name, phone number, and postal address you enter so the seller can send it. You can choose to save one address for next time; the saved copy is readable only by you. Nothing is collected if you are picking the plant up.
- Orders and sales. For every order: which plants are in it, the price, the currency, whether it is post or pickup, the delivery fee, the order's status, and the dates it changed. Only the buyer and the seller can read an order.
- Your shop, if you open one. Your shop name, description, banner photo, the places you say you will post to, your delivery information and fee, and your own terms and policies. Your shop page is published on the open web at
joindiora.com/@yourhandle. When you sell in the app, you arrange payment with your buyer directly, and anything you send them about it is an ordinary message. - Diora Business, if you sell on the web. Your trading name, legal name, ABN and whether you are registered for GST, which appear on your shop and your tax invoices. To take card payments you connect your own Stripe account. Stripe collects the identity and bank details it needs to pay you, under its own terms; Diora keeps your Stripe account ID, its display name, country and currency, and its setup status: whether it can take payments and pay out, and whether Stripe needs anything more from you. We do not store your bank details. For each card sale we record the amount, Stripe's fees, Diora's fee, and any refund or dispute. We also keep the details your buyers give at checkout, for you to fulfil their orders (section 14).
- Usage analytics. Anonymous interaction events such as which screens you visit. These events are tagged with your account's internal user ID (a UUID) but never include the content of your records. No plant names, nicknames, species names, source text, notes, message text, or photo content is ever sent as analytics data, and we do not send your email, username, or display name as analytics data. Analytics is active in production builds (it is disabled in development and test builds). Session recording is off.
- Diagnostics and crash data. When the app encounters an unexpected error, it shows an error screen so you can recover. We do not currently use a third-party crash-reporting service; technical error details are not sent off-device by a dedicated crash processor today. If we add automated crash reporting in a future release, reports will exclude the content of your records, and we will update this policy and the processor list in section 5 before turning it on.
- Device information. The app version, build number, operating system, and a stable anonymous device identifier used by the analytics tool to group events from the same device.
- Device push token. If you enable push notifications, we store the push token issued to your device so we can deliver the notifications you opt into. The token is an opaque identifier for your device's push channel; it does not contain the content of your records. See section 5 for how these notifications are delivered.
We do not collect: your device's location (Diora never asks for GPS permission, and we strip GPS coordinates out of every photo before storing it), your contacts, your full camera roll (we ask for permission only when you tap "add a photo" and only the photos you select are uploaded), your advertising ID, or anything used for ad targeting. A delivery address you type in when buying a plant is a different thing, and it is covered above and in section 14. Diora does not show ads, and we have no plans to ever introduce them.
The joindiora.com website. Our website collects a small amount of anonymous analytics of its own: which page was loaded, whether the visit came from a printed QR code such as the one on our stall banner, which app store button was tapped, and a coarse device bucket (iOS, Android, or desktop). Website analytics use no cookies and no browser storage, and nothing they collect is kept between page loads: the identifier attached to a website event is random, is created when the page opens, and is discarded when it closes. No account, email address, or name is attached to it. Your IP address is not recorded on the event and no location is derived from it. Where you arrived from is recorded only as a broad category such as "search" or "social", never as the full link you followed. Because nothing persists and no address is kept, website analytics cannot be connected to your Diora account, and nothing in the data we keep can tell us that two page views came from the same person. The processor is PostHog, hosted in the European Union, the same one listed in section 5.
Cookies and browser storage on shops and checkout. Separately from analytics, shops and checkout keep a few things in your browser so they work. None of them track you across sites and none are used for advertising.
- Your bag is kept in your browser's local storage. It holds the codes of the plants you added and which shop they are from, never your name or details. After you pay, the codes of the plants you paid for are kept in that tab's session storage so the bag can be tidied, and they go when the tab closes.
- Checkout sets one cookie,
dg_checkout, while you pay. It lets you come back to the same payment and lasts one hour. - Your order page sets one cookie,
dg_order, when you open it from your order email. It lets that one order page open in that browser and lasts 24 hours. - Stripe's card form, on the checkout page, is Stripe's own code. It may set its own cookies and collect information about your device and browser to help prevent fraud, under Stripe's privacy policy.
- Diora Business (business.joindiora.com) sets a sign-in cookie for sellers, sent only to business.joindiora.com.
The checkout cookies cannot be read by scripts on the page and are sent only to the checkout or that one order page.
3. Why we collect it
- Account information lets you sign in and keeps your data secured to your account.
- Profile information is what other collectors see when they encounter you in the social features. You choose your display name, username, bio, and whether to set an avatar.
- Plant data, plant events, and photos are the core of the app. They exist so you can read them back across years and devices, and, for any item you choose to share, so the collectors you share with can see them (section 9).
- Social content (follows, visibility settings, pollen offers and replies, messages, blocks) exists so the social features work: so people you follow appear in your feed, so a pollen offer reaches the right audience, so a conversation is delivered to the person you sent it to, and so blocking removes someone from your experience.
- Delivery details exist so a seller can post the plant to you. They go to that one seller and to nobody else. They never appear on your profile or in the feed. If you bought on the web, they also appear on your own order page, which only you can open.
- Orders and sales exist so the two people in a sale have the same record of what was agreed. When you buy, the seller sees the delivery details you entered. When you sell, the buyer sees your shop. For a sale in the app, payment is arranged between the two of you directly: Diora is not the seller, we take no commission, we do not handle the money, and we do not store payment details. A card payment in a shop on the web works differently, and section 14 explains how.
- Usage analytics help us understand which features matter and where the app is confusing. We use this to decide what to build next.
- Stripping GPS from photos is a deliberate privacy choice. Greenhouse and home photos often contain the photographer's home coordinates in EXIF. Because Diora now lets you share individual plants and their photos with other collectors (section 9), removing this before storage means your home address cannot leak through a photo you decide to share.
By creating an account you agree to this Privacy Policy. You can withdraw consent at any time by deleting your account.
4. How we store and secure it
- Network traffic between the app and our servers uses TLS.
- Data at rest in our database and photo storage is encrypted by our hosting provider.
- Row-level security policies in the database control who can read each record. Each plant and breeding program is readable by exactly the audience its visibility setting allows (section 9): you alone, your followers, or anyone. A record set to "private" stays readable only by you. Blocked accounts are filtered out at this layer too.
- Magic-link tokens are short-lived and single-use.
- Backups of the database are retained for up to 7 days for disaster recovery and then expire automatically.
No system is perfectly secure. If we become aware of a breach affecting your data, we will let you know without undue delay and explain what happened and what we are doing about it.
5. Who we share it with
Diora uses a small number of third-party processors. We chose each one for security, clear privacy posture, and the ability to delete data on request.
- Supabase is our backend host. It stores your account, profile, plant records, plant events, photos, avatars, all social content (follows, visibility settings, pollen offers and replies, messages, blocks), shops, and orders, including web orders and the buyer details on them. Supabase operates the database, storage, and authentication on our behalf as a data processor, in its Sydney, Australia region.
- Stripe processes card payments in shops on the web. The payment is made on the shop's own Stripe account. Stripe receives your card details, your email address, the names and prices of the plants, the delivery fee, and the total, and information about your device and browser to help prevent fraud. Stripe handles your card details under its own privacy policy. Diora never receives your card number.
- Vercel hosts our websites, including shops, checkout, order pages and Diora Business. The servers that handle checkout and order pages run in Vercel's Sydney region. Vercel is a United States company, and its network carries traffic around the world.
- Resend sends the emails for web orders and Diora Business. It receives the recipient's email address and the content of each email, and processes them in the United States.
- Cloudflare Turnstile checks that a checkout, or a request for an order link, is made by a person and not a bot. It receives your IP address and information about your browser, not your order details. Cloudflare processes this on its global network.
- Google Places suggests addresses as you type in the checkout's street address field. Your browser sends Google what you have typed there (once it is three characters or more), and the suggestion you pick. Because your browser asks Google directly, Google also receives your IP address and the name of the site you are on. No name, email, phone number or order details are sent, and no cookies.
- PostHog receives the anonymous analytics events described in section 2. PostHog is configured without session recording and without ad-network attribution. PostHog is hosted in the European Union (EU data residency).
- Apple and Google handle the Sign in with Apple and Sign in with Google flows when you choose them. They authenticate you and receive only the sign-in interaction itself; they do not receive your plant data or other in-app content.
- Expo / EAS builds and ships the app to the App Store and Play Store. They do not see your runtime data.
- Expo Push Service, together with Apple Push Notification service (APNs) on iOS and Firebase Cloud Messaging (FCM) on Android, delivers the push notifications you opt into. They receive your device push token and the notification text and routing information needed to deliver a message to your device, never the content of your records.
We do not currently use a third-party crash-reporting processor (such as Sentry). Diora sends push notifications for activity you opt into (such as new followers, replies, and messages) using the Expo Push Service, which delivers them via Apple Push Notification service (APNs) on iOS and Firebase Cloud Messaging (FCM) on Android. These messages carry only the notification text and routing information, never the content of your records, and you can turn each type off in the app's notification settings.
We do not sell your data. We do not share it with advertisers. We do not use your plant data, notes, photos, messages, or any other content you create to train any machine learning model.
6. Your rights
You can:
- Access and correct your data. Every record in the app is yours to view and edit at any time.
- Export your data. Email us and we will send you a dump within 30 days. We are working on self-service export in the app.
- Delete your data. Use Settings, then Delete Account. This removes your account record and email address, your profile, your plants, plant events, notes and photos, your wishlist, your breeding programs, your posts, comments and pollen offers, your follows and blocks, your visibility settings, your saved delivery address, your shop and listings, and your push notification tokens. If you cannot sign in, email us. Deletion runs against the live database immediately, and backup copies expire within 7 days. A few things survive, and every one of them exists to protect somebody else's record: section 10 is the complete list.
- Withdraw consent for analytics at any time by deleting your account.
If you bought from a shop on the web without an account, you have the same rights to access, correct and delete your details. Section 14 says how to use them.
If you live in the EU or UK, you have additional rights under GDPR: to restrict processing, to object, and to lodge a complaint with your local data protection authority. If you live in California, you have rights under the CCPA, including the right to know and the right to delete. We respond to verifiable requests within 30 days.
7. Children's data
Diora is not directed at children under 13. We do not knowingly collect data from anyone under 13. If you believe a child has used the app, please email us and we will delete the account.
8. International data
Diora is operated from Australia. Supabase stores your account, your content, shops and orders, including web orders, in Sydney, Australia. Some of the processors in section 5 handle data outside Australia:
- PostHog (analytics) is hosted in the European Union.
- Stripe (card payments) processes payment details in the United States and other countries where it operates.
- Resend (email) processes email addresses and email content in the United States.
- Vercel (web hosting) runs checkout in Sydney; it is a United States company and its network is global.
- Cloudflare (bot check) and Google (address suggestions) process your IP address, browser information and typed address text on their global networks.
- Expo, Apple and Google deliver push notifications and handle sign-in, as described in section 5.
By using Diora you consent to your data being transferred to and processed in these places. We take reasonable steps to ensure that any international transfer is protected by appropriate safeguards, including the standard contractual clauses where applicable.
9. Social features and how sharing works
Diora has a social layer ("Grapevine"), and every plant and breeding program carries its own visibility setting that you control. New accounts start public. When you set up your account, we ask you to choose, on a screen you cannot skip past, whether your collection starts public or private. Public is what the account is already set to, and choosing private changes it. Whichever you pick, you can change any single plant at any time, change the default later in Settings, and apply a level across your whole collection at once. Here is exactly how it works.
Your profile is visible to others. Once you have an account you have a public profile: your display name, your username (@handle), your bio if you write one, and your avatar if you set one. Other collectors can find your profile (for example by searching your username) and see these fields. Your profile does not expose your email address or any plant you have not chosen to share.
Every plant and breeding program has a visibility setting that you control. Each item can be set to one of three levels:
- Private: visible only to you.
- Followers: visible to you and to accounts that follow you (and that you have not blocked).
- Public: visible to anyone using Diora, and published on the open web. A public plant gets its own page at
joindiora.com/plant/<code>that anyone can open in a browser without a Diora account, and that page is set to be indexed by search engines, so it can turn up in search results. The page shows the plant's name, species, photos, your notes, what you wrote about where the plant came from, and your display name, handle, and avatar. It does not show your email address or your delivery details. Setting the plant back to private takes the page down.
You set this per item, and you can change it at any time. You can also set a default visibility for new items and bulk-apply a visibility level across your collection. Raising an item to "followers" or "public" is what makes its details and photos (including the source text saying where it came from) readable by that audience. Lowering it back to "private" hides it again.
Following. You can follow other collectors and they can follow you. Following is one-way: following someone does not require their approval and does not make them follow you back. Who you follow and who follows you is used to decide whose content appears in your feed and to activate the "followers" visibility level described above.
Feed. The feed shows activity from accounts you follow and public activity, for example a new plant added, a propagation, or a new breeding program, but only for items whose visibility allows you to see them. Items you have kept private never appear in anyone else's feed.
Pollen offers. You can post a pollen offer to make your pollen available to the community. An offer you post is visible to others and can carry a photo. People can reply to your offer; those replies are attached to that specific offer.
Direct messaging. Diora includes private one-to-one messaging. You can message another collector (for example, to follow up on a pollen offer), and the messages you send and receive are stored so the conversation persists. Messages are delivered to the other participant in the conversation and are not part of your public profile or feed. Blocking prevents messaging between the two accounts.
Blocking. You can block another account. Blocking is symmetric in effect: a blocked account cannot see your followers-only or public content, cannot follow you, and cannot message you, and you stop seeing theirs. By design, blocking is silent: the blocked person is not told they have been blocked.
Where a plant came from (source text). Diora lets you record where each plant came from as free-text source data, which may include another collector's @handle. When you share that plant (followers or public), this text is visible to the audience you shared with, and a mentioned handle can be surfaced as a discovery suggestion. You enter this text yourself and Diora has no way to verify it; we do not vouch for the accuracy of what it says about where a plant came from. If you believe source text in another user's shared collection misrepresents you, email us.
In short: profiles are public, every plant and photo carries a visibility setting you control, and you can raise or lower it at any time. We will update this policy before adding a materially new way to share your data.
10. Deleting your social content, and what deletion does not reach
When you delete your account (section 6), your profile, follows, visibility settings, pollen offers, plants, plant events, plant photos, wishlist photos and listing photos are removed along with the rest of your data. Deletion is not the same as a retraction, though, and there are things it does not reach. A few things survive deletion, and we would rather tell you than let you find out. All of them exist to protect somebody else's record, not ours. This is the complete list.
Messages you sent stay in the other person's conversation. A conversation belongs to both people in it. Your name comes off them, but the text stays, so the other person keeps their own half of a conversation they were part of. Anything sent as part of a message stays with it for the same reason: taking the attachment away while the words remain would leave that person a broken thread. Replies you posted on someone else's pollen offer work the same way. If you would rather a message were gone, delete it before you delete your account. We cannot un-send what another person has already received.
Notifications you triggered stay in other people's inboxes, with the name and handle you had at the time.
What someone else wrote about their own plant stays on their plant. If a collector recorded that a plant came from you, that is their record and it remains.
Orders stay on the other person's record of their own sales or purchases, including what was bought and what it cost. The delivery details you gave a seller (name, phone number, address) are removed when your account is deleted. If you bought on the web without an account, there is no account to delete: section 14 says how your details are removed, and what stays with the shop.
Reports other people filed about you stay, for as long as we need them to deal with the report. We also keep anything the law requires us to keep, and only for as long as it requires.
Deleting a photo does not reach copies already handed out. Diora serves private photos through links that are authorised when they are created, not each time they are opened, so a link already delivered to someone's device can keep working until it expires. Deleting a photo removes it from Diora and stops us serving it to anyone new. It cannot reach a copy someone has already saved or screenshotted, which is true of any image anyone has ever been shown.
Apart from those, we do not keep your personal data after deletion.
If you want a specific piece of shared content taken down sooner, you can lower its visibility to private in the app, or email us.
11. We are not a plant care advice service
Diora records what you tell it about your plants. We do not provide care guides, watering schedules, diagnoses, or species identification. Nothing in the app should be treated as professional horticultural advice. This is a deliberate product choice, not a limitation we plan to fix.
12. Changes to this policy
We may update this policy as the app evolves. The "Last updated" date at the top reflects the most recent change. For material changes (anything that adds a new category of data collection, a new third-party processor, or a new sharing capability), we will surface a notice in the app the next time you open it. Checkout on the web always links to the current version of this policy.
13. How to contact us
For any privacy question, data export request, deletion request, or concern, email support@joindiora.com. Diora is a small project and replies are best effort, but we will get back to you as soon as we reasonably can.
14. Buying from a shop on the web
You can buy from a shop on Diora without a Diora account. This section covers that checkout.
What we collect. Your name, your email address, your phone number if you give one, and your delivery address if your plants are being posted. Pickup orders have no address. We also keep the plants you bought, the delivery option you chose, and the prices. We record which version of the checkout's notice you were shown, and a scrambled (salted and hashed) form of your IP address so we can limit repeated attempts. We do not store your IP address itself.
Who receives it. The shop you buy from receives your name, email address, phone number and delivery address. It sees them on your order, its packing slip and its invoice, so it can send your plants and contact you about the order. When a shop posts your order, it may share your name, delivery address, email and mobile with its carrier, such as Australia Post, so the parcel can be delivered and tracked. Diora runs the checkout and stores your order for the shop. Nobody else on Diora sees your details.
Paying by card. Card payments are processed by Stripe on the shop's own Stripe account, so the shop is the merchant you pay. You enter your card details in Stripe's card form, and they go to Stripe, never to Diora. Diora stores no card details. Stripe tells us whether the payment went through, the amount, Stripe's fees, and any refund or dispute. Diora charges the shop a fee on each card sale, which Stripe takes from the shop's payment. It is not added to what you pay.
Checks and suggestions. Cloudflare Turnstile checks that the checkout is filled in by a person, using your IP address and information about your browser. As you type your street address, your browser sends what you type to Google for address suggestions. Section 5 has the details of both.
Emails. We email you about your order only: your order confirmation, updates when the shop sends your order, has it ready for pickup or cancels it, a note when the shop sends you a message, and your order link when you ask for it. Replies reach the shop, when the shop has given a contact email. Resend sends these emails. We keep a log that each email was sent, and remove the address and the content from that log 30 days after sending. The shop's order history also shows each email we sent you, the address it went to and whether it was delivered, until your details are deleted.
Messages with the shop. You can message the shop from your order page, and the shop can message you there. Diora stores these messages with your order and shows them to you and the shop. Anyone you share your order link with can see and send them too. When the shop writes, we may email you to say there is a new message, but never what it says. You can turn these emails off on your order page. We check each message for payment details, such as bank details or a payment link, so we can show a warning beside it. We read a message only if it is reported to us, if the law requires it, or to keep Diora safe. If we remove a message, we delete its text 90 days later. Otherwise messages are kept with your order, and their text is deleted when your contact details are deleted.
Marketing. Checkout does not ask for your permission to send you marketing, and does not pass any such permission to the shop. Diora sends you no marketing.
Where it is stored. Your order is stored by Supabase in Sydney, Australia, and checkout runs on Vercel's servers in Sydney. Section 8 lists the processors that handle data outside Australia.
How long we keep it.
- If you do not finish paying, we delete your contact and delivery details within 10 days.
- Once you have paid, your order is kept for the shop. There is no fixed time limit yet. Your contact and delivery details are removed when you ask (below), or when the shop is deleted from Diora.
- The link to your order in your emails stops working after 180 days.
- Stripe keeps its own record of your payment, under its own privacy policy.
Seeing, correcting and deleting your details. Your order page shows the details the shop has for you. To correct them, ask the shop or email support@joindiora.com. The shop can correct your details itself. Its order history keeps a record of each change, including the old details, until your details are deleted. To delete them, email support@joindiora.com with your order number. When your details are deleted, your email address, phone number and delivery address are removed from your orders with that shop. If you ask us, your order link also stops working. Your name, what you bought, the prices and any tax invoice stay with the shop, as its record of the sale. We reply within 30 days.
This policy is written in plain English by intent. If anything in it is unclear, please email us. We will fix the wording.