Legal
Cookie Policy
Last updated: June 18, 2026
1. What this policy covers
This Cookie Policy explains how ReadRom uses cookies, browser local storage, scripts, and similar technologies on readrom.com. These technologies remember choices, support account access, verify age eligibility, process checkout, and help us understand how the site is used. This Cookie Policy forms part of the ReadRom Privacy Policy and should be read together with our Privacy Policy.
2. Essential technologies
Essential technologies, also called strictly necessary technologies in some privacy frameworks, are required to provide services you request and cannot be disabled without breaking core ReadRom functionality. They include cookies used by Supabase for authentication and session security, storage of your cookie consent choice, age-verification cookies used to confirm 18+ eligibility, and Razorpay checkout scripts loaded only when you start a paid subscription flow. In the current ReadRom implementation, Razorpay checkout is loaded from checkout.razorpay.com only after you click to start checkout. Razorpay may place cookies, scripts, or similar technologies during checkout to process payments, prevent fraud, verify transactions, and comply with regulatory obligations.
3. Functional storage
With your consent, ReadRom uses browser local storage to remember reading progress, display preferences such as theme and font size, and a random pseudonymous browser ID used for ratings or chapter likes. The browser ID is generated in your browser using crypto.randomUUID(), is stored as rr_browser_id, is not created from your IP address or user agent, and is not designed to identify you by name. It is device/browser-specific, does not automatically sync across devices, and may be associated with ratings or likes you submit. If you are signed in, some interactions may also be linked to your account as described in the Privacy Policy.
4. Analytics
With your consent, ReadRom uses analytics technologies such as Vercel Analytics and Umami Analytics to measure page views, engagement, traffic sources, site performance, and aggregate usage. Google Analytics may also be used after analytics consent if enabled for ReadRom. Analytics tools are not loaded until you opt in to analytics cookies and similar technologies.
5. Marketing
ReadRom does not currently use third-party advertising cookies or cross-site behavioral advertising pixels. The marketing category is reserved for possible future advertising or marketing tools. It is not enabled by Accept all today; if marketing tools are added later, we will update this policy and request consent where required.
6. Cookie banner
ReadRom's cookie banner explains that essential cookies are used for sign-in and checkout, functional storage is used for reading preferences, analytics helps improve ReadRom, and marketing tools are not active today. The banner links to this Cookie Policy and offers Reject all, Customize, and Accept all choices with equal visual weight.
7. Your choices
You can accept, reject, or customize non-essential categories from the banner shown on your first visit. After you make a choice, you can reopen the preferences panel from the Cookie preferences button on legal pages, from footer links, and from the floating Privacy choices widget where it is displayed. If your browser sends a Global Privacy Control signal, ReadRom treats it as a request to reject analytics and marketing technologies.
8. Re-consent and changes
We may ask you to review your preferences again when this policy changes, when a new non-essential provider is added, when your previous choice can no longer be read, or when the stored consent period has elapsed. ReadRom treats stored cookie choices as valid for 180 days from the date of consent unless you change or clear them earlier.
9. Clearing or blocking cookies
You can clear or block cookies and local storage in your browser settings, including Chrome, Safari, Firefox, and Edge. You can also use private or incognito browsing modes, which usually clear stored data when the private session ends. If you clear or block cookies and local storage, you may be signed out, your age-verification status may be forgotten, the cookie banner may reappear, and device-based reading progress, display settings, ratings, or likes may be lost. Some browsers and extensions can send a Global Privacy Control signal; when ReadRom receives that signal before you make a later manual choice, we treat analytics and marketing as rejected.
10. Mobile applications
When using ReadRom mobile applications, similar technologies may include device identifiers, application storage, software development kits (SDKs), and comparable technologies used for authentication, analytics, subscription management, security, diagnostics, and app performance.
11. Questions
For questions about cookies, similar technologies, or privacy choices, contact privacy@readrom.com.
Technology overview
| Provider | Type | Category | Purpose |
|---|---|---|---|
| ReadRom consent storage | First-party local storage | Essential | Saves your cookie and privacy choices on this device. |
| ReadRom age verification | First-party cookie | Essential | Stores 18+ age-verification status for unsigned users for up to 30 days, and helps enforce access restrictions if a user indicates they are under 18. |
| Supabase | Third-party service | Essential | Provides authentication, account sessions, comments, ratings, and subscription access checks. |
| Razorpay | Third-party checkout script | Essential for checkout | Processes subscription payments, verifies transactions, prevents fraud, supports payment security, and helps meet regulatory obligations during checkout. |
| ReadRom local storage | First-party local storage | Functional | Remembers reading progress, display settings, and pseudonymous rating or like IDs when functional storage is enabled. |
| Vercel Analytics | Third-party analytics | Analytics | Measures aggregate site usage and performance after analytics consent. |
| Umami Analytics | Third-party or self-hosted analytics | Analytics | Measures aggregate site usage after analytics consent. |
| Google Analytics | Third-party analytics | Analytics | Measures page views, engagement, traffic sources, and site performance after analytics consent. |
| Mobile app SDKs and app storage | Device identifiers, application storage, and SDKs | Essential, Functional, or Analytics | Supports mobile authentication, analytics, diagnostics, subscription management, and app performance where used in ReadRom mobile applications. |
| Advertising or marketing tools | Future third-party tools | Marketing | Not currently active. If added later, these tools will be disclosed here and loaded only after required consent. |
Cookie and storage inventory
Names may vary if a provider changes implementation details, but this table reflects ReadRom's current website configuration. Session technologies are generally removed when a browser session ends; persistent technologies can remain after browser restart until their duration expires or you clear them.
| Technology | Name / key | Provider | Party | Purpose | Duration | Category |
|---|---|---|---|---|---|---|
| localStorage | rr_cookie_consent | ReadRom | First-party | Stores consent category choices, consent source, version, and timestamp. | 180 days from consent, unless changed or cleared earlier | Essential |
| Cookie | readrom_age_verified | ReadRom | First-party | Confirms that an unsigned visitor has passed the 18+ age gate, or helps maintain age-verification status for a signed-in user. | Up to 30 days for unsigned users; long-lived for signed-in users unless cleared, corrected, or account state changes | Essential |
| Cookie | readrom_age_blocked | ReadRom | First-party | Records that a visitor indicated they are under 18 and blocks access. | Up to 30 days unless cleared earlier | Essential |
| Cookie | sb-*-auth-token | Supabase | First-party cookie used by third-party service | Maintains authentication sessions and refreshes account access securely. | Session or persistent depending on Supabase session settings and browser behavior | Essential |
| localStorage | rr_last_read | ReadRom | First-party | Stores the last book and chapter opened for continue-reading features. | Until cleared, replaced, or functional storage is disabled | Functional |
| localStorage | rr_reading_theme | ReadRom | First-party | Stores reading theme preference. | Until cleared, replaced, or functional storage is disabled | Functional |
| localStorage | rr_reading_size | ReadRom | First-party | Stores reading text-size preference. | Until cleared, replaced, or functional storage is disabled | Functional |
| localStorage | rr_reading_font_family | ReadRom | First-party | Stores reading font preference. | Until cleared, replaced, or functional storage is disabled | Functional |
| localStorage | rr_reading_line | ReadRom | First-party | Stores reading line-height preference. | Until cleared, replaced, or functional storage is disabled | Functional |
| localStorage | rr_reading_word | ReadRom | First-party | Stores reading word-spacing preference. | Until cleared, replaced, or functional storage is disabled | Functional |
| localStorage | rr_browser_id | ReadRom | First-party | Stores a random browser-specific UUID for ratings and chapter likes. | Until cleared, replaced, or functional storage is disabled | Functional |
| localStorage | rr_liked_chapters | ReadRom | First-party | Stores chapter-like state on this device. | Until cleared, replaced, or functional storage is disabled | Functional |
| localStorage | rr_reading_list | ReadRom | First-party | Stores device-based reading-list choices where the feature is available. | Until cleared, replaced, or functional storage is disabled | Functional |
| localStorage | content-warnings:* | ReadRom | First-party | Remembers whether content warnings were expanded or collapsed for a book. | Until cleared or changed | Functional |
| Script | checkout.js | Razorpay | Third-party | Loads secure payment checkout after the user starts a subscription purchase. | Loaded during checkout; Razorpay-controlled cookies or storage may follow Razorpay's own durations | Essential for checkout |
| Script | Vercel Analytics | Vercel | Third-party | Measures aggregate site usage and performance. | Loaded only after analytics consent; provider retention is governed by Vercel's policies | Analytics |
| Script | cloud.umami.is/script.js | Umami | Third-party | Measures aggregate site usage. | Loaded only after analytics consent; provider retention is governed by Umami's policies | Analytics |
| Script or cookie | Google Analytics | Third-party | Measures page views, engagement, traffic sources, and site performance if enabled. | Loaded only after analytics consent; Google-controlled cookies or retention follow Google's policies | Analytics |