Privacy Policy
Last updated: 12 October 2026
1. Introduction
BookSparker Ltd ("BookSparker," "we," "us," or "our") is committed to protecting your personal data. This Privacy Policy explains how we collect, use, store, share, and protect your information when you use our website at booksparker.com and all related services (the "Service").
We are the data controller for the purposes of the UK General Data Protection Regulation (UK GDPR), the EU General Data Protection Regulation (EU GDPR), and the Data Protection Act 2018.
By using BookSparker, you acknowledge that you have read and understood this Privacy Policy. If you do not agree, please do not use our Service.
2. Data We Collect
2.1 Account and Profile Data
- Account credentials: Email address, password (hashed and salted by Supabase Auth), account role (author or reader), email verification status.
- Profile details: Display name, first name (used only to greet you in our emails to you), author or pen name, profile picture, biography, website, genres you write in, social links.
- Authentication tokens: Session tokens used to keep you signed in.
- Affiliate referral code: If you arrived via an affiliate link, the referring affiliate code is stored on your profile so we can attribute commission correctly.
2.2 Information from Sign in with Google and Facebook
When you create an account or sign in with Google or Facebook, the provider shares the following with us:
- Your name.
- Your email address.
- Your profile picture, where available.
- A unique account identifier issued by the provider.
We do not receive or store your Google or Facebook password, contacts, friends list, files, posts, or any other data from those accounts.
How we use it. We use this information to create and authenticate your BookSparker account, to pre-fill your display name and profile picture, and to send you the emails described in this policy. We do not sell it. It is processed on our behalf by the service providers listed in Section 5, under data processing agreements: for example, Supabase stores your account, your profile picture is copied to Cloudflare R2, and Resend delivers our emails to your address. When you create an account, and when you start or complete a purchase, we also send Meta a SHA-256 hash of your email address and of your BookSparker user ID through the Meta Conversions API, so we can measure our advertising (see Section 8.5).
Storage and deletion. Your provider account identifier and email address are stored in our authentication database for as long as your account exists. Your profile picture is copied to our own storage so it keeps working after the provider's link expires; you can replace or remove it at any time in your profile settings. Deleting your BookSparker account removes all of this data in line with Section 12 (within 30 days). You can also revoke BookSparker's access to your Google account at any time at myaccount.google.com/permissions, or to your Facebook account in your Facebook settings under Apps and Websites.
Google's sign-in prompt. On our home, product, and pricing pages on booksparker.com, a visitor who is signed in to Google in their browser but not to BookSparker may see Google's own prompt offering to sign up or sign in with their Google account in one click (Google One Tap). To offer it, your browser loads Google's sign-in script from accounts.google.com, so Google receives your IP address and learns that you visited BookSparker. In Chrome and Edge the browser itself asks Google which accounts are signed in and draws the prompt. In other browsers Google draws it, and its script may store a first-party cookie, g_state, to remember that you closed it. We receive nothing unless you choose an account in the prompt; your account is then created or signed in exactly as with the Sign in with Google button, using the information listed above. The prompt is on by default, so that visitors can sign up or sign in quickly. You can turn it off at any time by choosing "Reject all" in the cookie banner or by unticking "Google sign-in" in Cookie Settings. You can also turn these prompts off in your browser (in Chrome: Third-party sign-in) or in your Google Account. The prompt never appears on book landing pages, group promotion pages, or author websites.
Our use of information received from Google APIs adheres to the Google API Services User Data Policy, including its Limited Use requirements.
2.3 Email Verification and Password Reset
To verify your email address, we send a confirmation link to the address you provided. Clicking that link confirms ownership and activates your account. If you request a password reset, we send a one-time link that expires after a short period. We log the timestamp of these events for security and abuse prevention.
2.4 Book and Content Data
- Book files: PDF, EPUB, MOBI, or other manuscript files you upload.
- Book metadata: Titles, subtitles, descriptions, categories, genres, series, ASINs or external retailer links, publication status, pricing.
- Cover images and assets: Cover artwork, promotional images, and other media you upload.
- Landing pages: Reader magnet pages, universal book links, and any custom copy you publish through the Service.
All uploaded files are scanned for viruses and malicious content before being made available. Files are stored on Cloudflare R2; private files (such as full manuscripts) are kept in a private bucket and only delivered through authenticated, signed URLs.
2.5 Mailing Provider Connection Data
When you connect your mailing list provider (such as MailerLite) to BookSparker, you authorize us to access certain information from your provider account using the API key you supply or, for a provider you connect by logging in to it (such as AWeber), the access you approve on the provider's site. We may read:
- Your subscriber count and total list size.
- The names and metadata of your subscriber lists, segments, and groups.
- Aggregate campaign statistics such as send dates, open rates, and click rates.
- Custom field definitions, automation names, and webhook configurations.
- Whether a specific email address has received a specific campaign (used to confirm that a swap obligation has been fulfilled).
- For a campaign you select when confirming a swap, with providers that support it (such as AWeber): the list it went to, when it was sent, its statistics and its content. We use these only to check that the campaign went to the booked list and carried your swap partner's book link, and we keep the result of that check, not the email.
We do not download, copy, or store your subscriber email addresses on BookSparker. We do not send messages to your subscribers on your behalf without your explicit instruction. Your API key or access token is encrypted at rest and is used solely to perform the actions you have authorized.
You can disconnect your mailing provider at any time from your account settings. When you disconnect, we revoke and delete the stored API key or access tokens, and for a provider you connected by logging in, we also ask the provider to withdraw BookSparker's access.
2.6 Swap, Group Promotion, and Messaging Data
- Swap activity: Books offered for swap, scheduled send dates, swap partners, swap status, and confirmation records (including verification queries made to your mailing provider to confirm a campaign was sent).
- Group promotion participation: Promotions you create or join, the books and dates you contribute, application and approval status, and edit requests.
- Paid promotion data: Slots purchased or sold, payment status, payouts, and confirmation records.
- Messages: Communications you send through the platform to other users, including swap negotiation and group promotion coordination.
- Notifications and saved alerts: Preferences for which events trigger emails or in-app notifications.
2.7 Payment and Payout Data
Payments and payouts are processed by Stripe and Stripe Connect. We do not store full card numbers, CVV codes, or bank account numbers on our servers. From Stripe we receive and store:
- Stripe customer and account identifiers.
- Subscription status, plan, billing cycle, and renewal dates.
- Invoice history and payment status.
- The last four digits and brand of payment cards used, for receipts and dispute handling.
- Connected-account onboarding status for sellers receiving payouts.
Stripe's own collection and use of your data is governed by the Stripe Privacy Policy.
2.8 Support and Inbound Email Data
When you email our support addresses or reply to a transactional email, the message is fetched from our mail provider (Purelymail) into our support ticketing system. We store the sender address, subject, message body, attachments, and any conversation history so we can respond and keep a record of the issue. Support staff with the appropriate role can read these tickets.
2.9 Information Collected Automatically
- Usage data: Pages visited, features used, clicks, downloads, swap and promotion activity.
- Device data: Browser type and version, operating system, screen size, and device type.
- Log data: IP address, access times, referring URLs, request paths, and response codes, retained for security, debugging, and rate limiting.
- Cookies and similar technologies: See Section 9 for full details.
2.10 Smart Book Links
When you create a smart book link, we store the Amazon link, the product identifier (such as an ASIN or ISBN), any custom link name, and any affiliate tags you choose to add. If you create a link without signing in, it is stored without an account and with a one-time claim token so you can attach it to an account if you later sign up. We also place a small entry in your browser's local storage (see Section 9) holding that claim token so the link can be attached on signup.
When a reader clicks a smart book link, our redirect service (running on Cloudflare's edge network) records the destination Amazon store and the reader's country, derived from network-level geolocation, together with a timestamp. We do not store the reader's IP address, device details, or any cookie for these click records, and the records are not linked to a reader's identity. We use them only for aggregate statistics. The reader is then forwarded to Amazon, which receives the request and any affiliate tag in line with Amazon's own privacy policy.
2.11 Connected Social Media Accounts (TikTok)
If you connect a TikTok account to BookSparker, you approve the connection on TikTok's own login and consent screen. TikTok then shares with us your account's identifier for BookSparker (its open ID), your display name, a link to your profile picture, and access tokens limited to the permissions you approved: seeing which account is connected, sending posts to your TikTok drafts, and posting to your TikTok profile.
We use this only to show you which TikTok account is connected and to send the posts you choose, with the caption you chose. For each post, you decide whether it goes to your TikTok drafts, where you finish and publish it yourself in the TikTok app, or straight to your TikTok profile with the settings you picked: who can see it, whether others may comment, Duet or Stitch, whether it is promotional content, and whether it is labeled as AI-generated. Before you post to your profile, we ask TikTok for your account's current posting options (your nickname, the audiences you can choose and the interactions you have turned off) so that you can choose from them. You can also schedule a post, or add it to your queue (it then takes the next free one of the posting times you set): we then keep its media and settings until that time and send it then, on your behalf. TikTok fetches the media from a private link on booksparker.com that expires after a day (videos) or 7 days (images; for a scheduled post, a week after its time). We send only what you chose, when you chose. We do not read your TikTok videos, followers, messages, or statistics.
Your tokens are encrypted at rest. You can disconnect a TikTok account at any time from the Social accounts page; we then ask TikTok to withdraw BookSparker's access and delete the stored tokens and profile data, and posts you scheduled for that account are not sent. You can cancel a scheduled post before its time on the Social posts page. You can also remove BookSparker's access in your TikTok app settings, in the list of apps with access to your account.
3. Legal Basis for Processing (GDPR)
We process your personal data under the following legal bases:
| Purpose | Legal Basis |
|---|---|
| Account creation, authentication, and management | Performance of contract (Art. 6(1)(b)) |
| Processing payments, subscriptions, and payouts | Performance of contract (Art. 6(1)(b)) |
| Delivering books, landing pages, swaps, and group promotions | Performance of contract (Art. 6(1)(b)) |
| Connecting to and querying your mailing provider on your instruction | Performance of contract (Art. 6(1)(b)) |
| Connecting your social media accounts (such as TikTok) and sending or scheduling posts to them on your instruction | Performance of contract (Art. 6(1)(b)) |
| Platform security, fraud prevention, abuse detection | Legitimate interest (Art. 6(1)(f)) |
| Operating and measuring the Smart Book Link redirect service (link creation and aggregate click statistics) | Legitimate interest (Art. 6(1)(f)) |
| Service improvement, error monitoring, and aggregate analytics | Legitimate interest (Art. 6(1)(f)) |
| Essential service emails (account, security, billing, swap and promotion notifications) | Performance of contract (Art. 6(1)(b)) |
| Optional marketing communications | Consent (Art. 6(1)(a)) |
| Compliance with legal obligations | Legal obligation (Art. 6(1)(c)) |
| Showing Google's sign-in prompt on our marketing pages (Section 2.2) | Legitimate interest (Art. 6(1)(f)) |
4. How We Use Your Data
- To create, authenticate, secure, and manage your account.
- To process subscriptions, paid promotions, and seller payouts.
- To enable core platform features: book uploads, reader magnet delivery, landing pages, newsletter swaps, group promotions, paid swaps, messaging, and saved alerts.
- To match authors with appropriate swap or group promotion partners using your stated genre, list size, and availability.
- To verify swap fulfillment by querying your connected mailing provider, on your instruction, to confirm that an agreed campaign was sent.
- To send transactional emails, including email verification, password resets, swap notifications, group promotion updates, billing receipts, and reminders.
- To send optional marketing or product update emails, only where you have opted in.
- To answer your support requests through our ticketing system.
- To detect and prevent fraud, abuse, and Terms violations.
- To improve the Service through aggregated, anonymised analytics.
- To meet our legal, tax, accounting, and regulatory obligations.
5. Data Sharing and Third Parties
We do not sell, rent, or trade your personal data. We share data only in these limited circumstances:
5.1 Service Providers (Processors)
We use trusted third-party services to operate the platform. Each is contractually bound to process data only on our instructions:
- Supabase (database and authentication): stores account, profile, content, and application data.
- Cloudflare (hosting, CDN, DDoS protection): serves the website, delivers public assets, and provides edge security.
- Cloudflare R2 (object storage): stores your uploaded book files, covers, and other assets.
- Stripe and Stripe Connect (payment processing and payouts): handles all card data, subscriptions, paid promotions, and seller payouts.
- Resend (outbound transactional email): delivers account, swap, and notification emails to your inbox.
- Purelymail (inbound mailbox provider): hosts our support inboxes; messages you send to our support addresses are pulled into our ticketing system.
- Sentry (error and performance monitoring): receives error reports, request metadata, and limited identifying information so we can diagnose problems. Personally identifiable information may appear in error context.
- Upstash (rate limiting): tracks short-lived request counters by IP or account to prevent abuse.
- File scanning service: scans uploaded files for viruses and malicious content.
5.2 Mailing Provider APIs
When you connect a mailing provider account, BookSparker acts as a client of that provider's API on your behalf. Data flows from your provider to us according to the scopes you grant. We do not share your BookSparker account data with the provider beyond the API requests required to perform actions you initiate.
5.3 Other Users on the Platform
BookSparker is, by design, a collaboration platform. Certain information is visible to other users when relevant to a feature you use:
- Your author name, profile picture, biography, genres, and approximate mailing list size are visible to potential swap and group promotion partners.
- Books you list for swap, group promotion, or paid promotion are visible to participating authors, including their titles, covers, descriptions, and links.
- Messages you send through the platform are visible to the recipient and to BookSparker staff investigating reports of abuse.
- Group promotion organizers can see the list of applicants, their books, and their stated list size.
5.4 Affiliate Partners
If you sign up through an affiliate link, the affiliate may see aggregate, anonymised conversion statistics (such as the number of sign-ups and qualifying purchases) attributed to their code. Affiliates do not see your name, email address, or account details.
5.5 Legal Requirements and Business Transfers
We may disclose your data if required by law, regulation, legal process, or governmental request, or where we reasonably believe disclosure is necessary to protect the rights, property, or safety of BookSparker, our users, or the public. If BookSparker is involved in a merger, acquisition, or sale of assets, your data may be transferred as part of that transaction, subject to the protections described in this Policy.
5.6 Amazon (Smart Book Link Destinations)
Smart book links forward readers to Amazon. When a reader clicks a link, Amazon receives the resulting request, including any affiliate tag contained in the destination address, and handles it under Amazon's own privacy policy. BookSparker does not control and is not responsible for Amazon's processing of that data.
5.7 TikTok (Posts You Send)
When you send or schedule a post to TikTok, we transmit the video or images, the caption and the settings you chose to TikTok, with the access token of the account you connected, at the time you chose. TikTok handles them under its own Terms of Service and Privacy Policy. BookSparker does not control and is not responsible for TikTok's processing of that data.
6. International Data Transfers
Some of our service providers process data outside the UK and the European Economic Area (EEA). When we transfer personal data internationally, we ensure appropriate safeguards are in place, including:
- Standard Contractual Clauses (SCCs) approved by the European Commission and the UK's addendum.
- Adequacy decisions where the recipient country has been deemed to provide adequate data protection.
- Data processing agreements with all third-party processors.
7. Data Retention
- Account data: Retained while your account is active and for up to 30 days after deletion to allow recovery.
- Content data: Deleted when you remove the content or close your account.
- Mailing provider API keys: Stored only while the integration is connected; deleted on disconnect or account closure.
- Connected social media accounts: Tokens, profile data and your posting times are stored only while the account is connected; deleted on disconnect or account closure. Records of posts you sent or scheduled (the platform's reference, the caption and settings you chose, and the status) are kept while your BookSparker account exists. Images kept for a scheduled post are deleted once TikTok has received them, or when you cancel the post.
- Swap and group promotion records: Retained while your account is active so partners can verify history; anonymised on closure.
- Smart book links: Retained while active, since they are designed to keep working, and deleted when you delete the link, when a claimed link's account is closed, or on request.
- Smart book link click records: Aggregate country and store data with no reader identity, retained to measure the service.
- Payment and tax records: Retained for up to 7 years as required by tax and financial regulations.
- Support tickets: Retained for up to 3 years for quality and legal purposes.
- Server and security logs: Retained for up to 90 days.
- Error monitoring data: Retained according to Sentry's default retention (typically 90 days).
8. Analytics, Marketing, and Tracking
We use a small, defined set of analytics and marketing tools to understand how the Service is used, measure our advertising, and improve the product.
8.1 Error and Performance Monitoring
We use Sentry to capture application errors and performance traces. This may include your user identifier, IP address, the URL and parameters of the failing request, the browser and device you were using, and a stack trace. We use this data only to diagnose and fix problems. Error monitoring is treated as a strictly necessary function and runs regardless of consent.
8.2 Affiliate Click Tracking
When a visitor arrives via an affiliate link, we record the affiliate code and a timestamp, and set a first-party cookie so we can attribute commission if the visitor later signs up. We rate limit affiliate clicks per IP to prevent abuse. We do not use this cookie for advertising or behavioural profiling.
8.3 Product Analytics and Session Replay (PostHog)
We use PostHog to understand how visitors and signed-in users move through our website and dashboard, where they get stuck, and which features are used. PostHog data is hosted in the European Union (Frankfurt). With analytics consent (visitors outside the EU/EEA + UK + Switzerland are presumed to consent under their local rules), PostHog uses cookies and local storage to recognize your browser, links activity to your account when you are signed in, and records pageviews, clicks, custom events, and session replays; replays mask password and email inputs by default. Without analytics consent, PostHog runs in cookieless mode: it stores nothing on your device, does not link activity to your account, records no session replays, and counts visits anonymously using a hash that PostHog computes on its servers and rotates daily. PostHog does not run on book landing pages, group promotion pages, or author websites. You can change your decision at any time via Cookie Settings.
8.4 Google Analytics 4 and Google Ads
We use Google Analytics 4 to measure traffic, acquisition sources, and conversions, and we share conversion events with Google Ads so the platform can optimize our advertising. When you create an account or start a paid subscription, we report that conversion to Google Ads through the Google tag, with the amount paid in the case of a subscription. If you have granted marketing consent, the report also includes your email address, which the Google tag hashes (SHA-256) in your browser before sending, so that Google can match the conversion to an ad click (enhanced conversions). Google processes this under the Google Ads Data Processing Terms. Google Analytics is loaded through Google Tag Manager and uses Google Consent Mode v2: until you grant analytics or marketing consent, requests are sent in an anonymised form (no cookies set, IP truncated). Google may transfer data to the United States under Standard Contractual Clauses.
8.5 Meta Conversions API
We use the Meta Conversions API to measure the performance of advertising on Facebook and Instagram, and to feed conversion events back to Meta so its ad-bidding can optimize toward genuine signups and purchases. These events are sent from our servers, not from your browser, and carry only a small set of hashed identifiers such as a SHA-256 hash of your email address together with your user ID. Our application does not itself load the Meta browser Pixel; where a Meta tag is delivered through our tag manager it loads only after you grant marketing consent, and in that case it sets the cookies described in section 9.3. Our server-side events include those cookie identifiers only when your browser already supplies them. We send these events only if you have granted marketing consent (visitors outside the EU/EEA, UK, and Switzerland are presumed to consent under their local rules); without that consent we send nothing to Meta and do not store the Meta cookie identifiers with your account or purchase. Meta may transfer data to the United States under Standard Contractual Clauses.
8.6 Tag Management (Google Tag Manager)
The tools above are loaded via a Google Tag Manager container. GTM itself does not collect personal data; it is a delivery mechanism that respects the consent state we set before loading any tag.
8.7 Your Choices
Visitors from the EU, EEA, UK, and Switzerland see a cookie banner on first visit and can accept all, reject non-essential, or customize per category (Analytics, Marketing, and Google sign-in). Your decision is remembered in your browser's local storage, mirrored in a first-party cookie so that our servers can respect it too, and is not re-prompted unless we materially update the categories. You can change your decision at any time using the Cookie Settings link in the site footer.
Visitors outside those regions do not see the banner by default, on the basis that this tracking is permitted under their local rules. You may still adjust your preferences using the Cookie Settings link.
Book landing pages, group promotion pages, and author websites load none of the analytics or advertising tools in this section, so no banner is shown there. The figures authors see for those pages (such as views, signups, and downloads) are recorded on our servers without cookies.
8.8 Marketing Emails from BookSparker
We may occasionally send product updates, newsletter content, or promotional offers about BookSparker. These messages are only sent where you have opted in, or where they relate directly to features of the account you hold. Every marketing email contains an unsubscribe link, and you can update your notification preferences at any time in your account settings.
9. Cookies and Local Storage
9.1 Strictly Necessary
- Authentication cookies: Maintain your signed-in session.
- Security cookies: Protect against cross-site request forgery and other attacks.
- Preference cookies and local storage: Remember settings such as billing cycle, layout choices, and dismissed banners.
- Affiliate referral cookie (
affiliate_ref): First-party, expires in 30 days, used to attribute commission. - Geo and consent cookies (
bs_country,bs_is_eu): First-party, expire in 7 days, used to decide whether to show the cookie banner. - Consent decision (
bs_consent_v1in local storage): Records your choices so we don't re-prompt you. - Marketing consent cookie (
bs_marketing_consent): First-party, expires in 1 year, mirrors your Marketing choice so our servers check it before sending any conversion event. - Dashboard layout cookie (
bs_layout_hints): First-party, expires in 1 year, only sent to dashboard pages. Remembers how tall each section of your dashboard was last time, so the page holds that space while it loads instead of jumping. It stores nothing but those heights. - Smart Book Link claim token (
bs:pending-smart-linksin local storage): Holds the link code and a one-time claim token so a link you create can be attached to your account if you sign up. Set only when you create a link, and not used for analytics or advertising. - Admin session cookie: For staff signed in to the admin area, a first-party session cookie with a short lifetime.
9.2 Analytics (loaded with your consent)
- PostHog cookies and local storage: Identify your session and the device used so behavior can be aggregated and replayed.
- Google Analytics cookies (
_ga,_ga_*): Distinguish visitors and sessions.
9.3 Marketing (loaded with your consent)
- Meta advertising cookies (
_fbp,_fbc): Set by a Meta tag where one is active through our tag manager. They identify visitors who clicked a Meta ad and measure ad performance, and are included in our server-side conversion events when your browser supplies them. - Google Ads conversion cookies: Set by Google to attribute paid clicks to conversions.
9.4 Google Sign-in Prompt (on by default, can be turned off)
- Google sign-in state cookie (
g_state): Set by Google's sign-in script in browsers where Google, not the browser, draws the sign-in prompt (see Section 2.2). It records that you closed the prompt so it is not shown again too soon.
You can control cookies at any time through your browser settings or via the Cookie Settings link in the footer. Disabling strictly necessary cookies will prevent the Service from functioning properly.
10. Affiliate Program
BookSparker operates an affiliate program. If you join as an affiliate, we collect the information needed to attribute referrals and pay commission, including your contact details, payout details, click and conversion records, and tax-related information where required by law.
If you visit BookSparker through an affiliate link, the affiliate code, click timestamp, and limited request information (such as IP address for rate limiting) are recorded. The affiliate themselves only sees aggregate, anonymised performance metrics for their code; they do not see your identity.
11. Your Rights (GDPR)
Under the UK GDPR and EU GDPR, you have the following rights:
- Right of access (Art. 15): Request a copy of the personal data we hold about you.
- Right to rectification (Art. 16): Request correction of inaccurate or incomplete data.
- Right to erasure (Art. 17): Request deletion of your personal data (the "right to be forgotten").
- Right to restrict processing (Art. 18): Request that we limit how we use your data.
- Right to data portability (Art. 20): Request your data in a structured, machine-readable format.
- Right to object (Art. 21): Object to processing based on legitimate interest, including direct marketing.
- Right to withdraw consent: Where processing is based on consent, you may withdraw it at any time without affecting the lawfulness of prior processing.
To exercise any of these rights, email us at privacy@booksparker.com. We will respond within 30 days, or within the timeframe required by applicable law.
If you are unsatisfied with our response, you have the right to lodge a complaint with your local data protection authority. In the UK, this is the Information Commissioner's Office (ICO) at ico.org.uk.
12. Account and Data Deletion
You can request deletion of your account and all associated personal data by:
- Using the account deletion feature in Dashboard › Settings.
- If you sign in with Facebook, removing BookSparker in your Facebook settings under Apps and Websites and asking there for your data to be deleted. Facebook passes the request on to us and gives you a link where you can check its status.
- Emailing privacy@booksparker.com with the subject line "Data Deletion Request" and your account email address.
- For a smart book link you created without an account, using the "Delete this link" option shown when the link is created, or by emailing privacy@booksparker.com with the link.
We will process deletion requests within 30 days and send a confirmation email once complete. Account deletion is permanent and cannot be undone. Some data may be retained as required by law (for example, financial records for tax purposes) or in anonymised form for swap and group promotion history visible to former partners.
13. Children's Privacy
BookSparker is not intended for individuals under 18 years of age. We do not knowingly collect personal data from anyone under 18. If we become aware that we have collected personal data from a minor, we will take steps to delete that data promptly. If you believe we have inadvertently collected data from a minor, please contact us immediately.
14. Data Security
We implement appropriate technical and organisational measures to protect your data, including:
- Encryption of data in transit (TLS / HTTPS) and at rest.
- Secure password hashing provided by Supabase Auth.
- Encryption of stored mailing provider API keys.
- Row-level security policies on database tables.
- Rate limiting and abuse-prevention mechanisms.
- Virus scanning of all uploaded files.
- Signed URLs for private file delivery.
- Content Security Policy and other hardening HTTP headers.
- Regular security reviews of our infrastructure and code.
No method of transmission over the internet is 100% secure. We cannot guarantee absolute security, but we are committed to protecting your data to the best of our ability.
15. Changes to This Policy
We may update this Privacy Policy from time to time. Material changes will be communicated via email or an in-app notice at least 14 days before they take effect. The "Last updated" date at the top of this page indicates when the policy was last revised. Your continued use of the Service after changes take effect constitutes acceptance of the updated policy.
16. Contact Us
If you have questions about this Privacy Policy, your personal data, or wish to exercise your rights, please contact us:
Data Controller: BookSparker Ltd
Email: privacy@booksparker.com
Subject: Privacy / Data Protection Inquiry