Who we are

Lore ("Your reading, remembered.") is a personal reading-memory tool that saves articles as you browse and lets you search, query, and revisit what you've read. It runs as a Chrome extension, a web app at lore-a0x.pages.dev, and a backend API at lore-api.jordanshammahr.workers.dev.

Questions about this policy? Contact us at jordanshammahr@gmail.com.

What we collect and why

1. Account information

When you create an account, we store:

2. Articles captured by the extension

When you browse the web with tracking enabled, the extension monitors pages you actively read and automatically captures:

We store this to build your personal reading library and let you revisit articles in a clean reader view.

3. AI chat conversations (opt-in only)

The extension never automatically captures AI chat sessions. If you open the extension popup on a supported platform and click "Save Conversation," the conversation is extracted, formatted as structured Markdown, and saved to your library. Supported platforms: ChatGPT, Claude, Gemini, Perplexity, Grok, and Microsoft Copilot.

4. Reading behaviour

When you read an article in the web app and scroll past 80% of it, we mark the item as read and record the timestamp. This is used only to show read status in your library and calculate streak statistics.

5. Reading statistics

We compute and store aggregate statistics derived from your reading history: day streaks, total reading time, total items saved, and achievement milestones. These are stored per user and are never shared without your explicit opt-in to a public profile.

What the extension deliberately skips

The extension applies a layered set of filters before it captures anything. A page is never captured if:

How we use your data

Feature What it uses
Reading libraryTitle, domain, tags, read status, read time
Full-text readerThe full extracted article text
Today's sessionItem metadata and focus_context to rank unread items
Reading statsAggregated reading metadata (streaks, time, item counts)
Topic tagsTitle and article text used locally to generate short labels
Public Lore pageTitle, URL, domain, word count, read time, tags — if you opt in

We do not sell your data. We do not use your reading history for advertising.

Third-party processors

Two external services process data on our behalf:

Supabase

All user data — accounts, articles, tags, and statistics — is stored in a PostgreSQL database managed by Supabase. Authentication also runs through Supabase. See supabase.com/privacy.

Cloudflare

All API traffic passes through Cloudflare Workers. The web app is hosted on Cloudflare Pages. Cloudflare handles CDN, DDoS protection, and edge routing. See cloudflare.com/privacypolicy.

All data is transmitted over TLS. We do not process payment information directly.

Public profiles

By default, your profile is private. If you choose to make it public:

Local storage (extension)

The extension stores three items in your browser's local storage:

No article content, authentication tokens, or personal data is stored locally in the extension. This data stays in your browser and is not synced across devices.

The web app uses standard session cookies for authentication. We do not use advertising cookies or third-party tracking cookies.

Your controls

Global tracking toggle

Turn auto-capture on or off from the extension popup or the Settings page. When off, the extension captures nothing.

Per-domain blocking

Add any domain to your blocklist in Settings. The extension syncs this list and checks it before every capture.

Delete items

Delete any article from your library. Deletion removes it from the database, including its tags and associated data.

Public profile

Opt in or out of public sharing at any time.

Focus context

Add or remove the free-text context used to rank your daily reading session.

Account deletion

To delete your account and all associated data, contact us at jordanshammahr@gmail.com. We will process the request within 30 days.

Data retention

Articles stay in your library until you delete them. There is no automatic expiry. If you delete your account, all your data is removed from our systems.

Your rights

For users in the European Economic Area and UK (GDPR)

You have the right to access the personal data we hold about you, correct inaccurate data, request erasure, restrict or object to processing, and request a portable copy of your data. To exercise any of these rights, contact us at jordanshammahr@gmail.com. We will respond within 30 days. Our legal basis for processing is your consent (for optional features) and legitimate interest (for core functionality you have signed up for).

For California residents (CCPA)

You have the right to know what personal information we collect, the right to delete it, and the right to opt out of its sale. We do not sell personal information. To submit a request, contact jordanshammahr@gmail.com.

Children's privacy

Lore is not directed at children under 13, or under 16 where required by local law (including GDPR). We do not knowingly collect personal data from minors. If you believe a child has created an account, contact us and we will delete the data.

Chrome Web Store disclosure

In accordance with Google's Limited Use requirements: Lore's use of data obtained through Chrome APIs is limited to providing and improving the reading-memory features described in this policy. We do not transfer this data to third parties except to the processors listed above, and only as necessary to operate the service. We do not use this data for advertising.

Security

All data in transit is encrypted via TLS. Data at rest is stored in Supabase's managed PostgreSQL infrastructure with encryption at rest. Cloudflare provides edge-level protection for all API and web traffic. We do not store plaintext passwords.

No system is perfectly secure. If you discover a vulnerability, please contact us at jordanshammahr@gmail.com.

Changes to this policy

If we make material changes, we will update the effective date at the top of this page and notify you by email if the change affects how we handle data you have already provided.

Contact

jordanshammahr@gmail.com