Penlo

Privacy Policy

Effective: October 16, 2026

1. Who We Are

Penlo is operated by Michał Włosik EFC, ul. Północna 16/5, 54-105 Wrocław, Poland (NIP: 8942747708). In this policy, "we", "us", and "our" refer to the operator. "You" and "your" refer to you, the user of the Penlo web application and associated services (collectively, the "Service").

2. What Penlo Does

Penlo is a web application that syncs handwritten notes from e-ink tablets via cloud storage providers (Dropbox and OneDrive), performs AI-powered OCR to convert handwriting to searchable text, and lets you export the results, for example as Markdown, plain text or PDF files, to Notion, or by email.

When your device saves a note as a PDF to your connected cloud storage, Penlo detects the change, downloads the PDF, processes it through an AI model for handwriting recognition and text cleanup, and stores the resulting text in your Penlo account.

On the Power plan, Penlo also offers Penlo AI, a chat assistant that answers questions from your notes, and an MCP (Model Context Protocol) integration that lets you connect AI assistants such as Claude, ChatGPT, Claude Code or Cursor to your Penlo account, so the assistant can search and read your notes. Both are opt-in. The MCP connection is read-only.

Penlo only accesses files in the specific folder you designate as your sync folder. It does not browse, index, or read any other files in your cloud storage accounts.

3. Eligibility

Penlo is intended for users aged 16 and older. By using the Service, you confirm that you are at least 16 years of age. We do not knowingly collect data from anyone under 16.

4. Data We Collect

4.1 Account data

When you create an account, we collect:

  • Email address — used for authentication and account management.
  • Display name and profile photo — provided by Google if you sign in with Google.
  • Password — if you sign up with email and password, your password is securely hashed by Supabase Auth and never stored in plain text.
  • Authentication tokens — managed server-side via Supabase Auth.

4.2 Cloud storage connection data

When you connect a cloud storage provider, we store OAuth access and refresh tokens, account email, token expiry time and the sync folder you choose for Dropbox or OneDrive. These are used to read PDFs from your designated folder. OAuth tokens are stored server-side and are never sent to your browser.

4.3 Notebook and note data

For each notebook synced, we store: notebook metadata (file path, display name, sync timestamps), note versions (content hash, PDF storage path, page count, OCR status, AI summary), PDF files and page thumbnails (stored in Supabase Storage), OCR text and word coordinates, corrections you make to the text (together with the original OCR text, so you can revert), user-created or AI-suggested tags, and vector embeddings of your note text that power search by meaning in Penlo AI.

4.4 Destination connection data

If you connect Notion, we store your Notion integration token, workspace name and the selected parent page or database ID, used exclusively to create or update pages in your Notion workspace when you send a notebook there. Notion only gives Penlo access to the pages you choose to share with it.

4.5 Settings and preferences

Your configuration choices are stored in your user profile, including: active sync provider, sync folder path, OCR, text cleanup and summary settings (including summary language), export preferences, theme and interface preferences.

4.6 API keys, AI assistant connections and webhooks

If you use the Penlo REST API or the Claude Desktop extension, we store a securely hashed version of your API key (the full key is shown once and never stored). If you connect an AI assistant with a link (OAuth), we store the assistant's registration (its name and redirect addresses) and hashed access and refresh tokens, with the time the connection was created and last used. Assistant connections expire 90 days after you approve them, and you can disconnect them at any time. If you configure a webhook, we store the endpoint URL and optional signing secret.

If you create a shareable link for a notebook, a public access token is generated. Anyone with the link can view the notebook's OCR text and PDF. Sending a notebook to Notion creates such a link so the Notion page can point to the original PDF. You can revoke shared links at any time.

4.8 Billing data

Payments are handled by Polar (polar.sh), which acts as merchant of record. We do not see or store your card details. We store your subscription status, plan, billing period end date and Polar customer and subscription identifiers.

4.9 Usage data

We record how many pages are processed with OCR each month and how many Penlo AI questions are asked each day, to apply plan limits.

5. How We Use Your Data

  • Provide the service — authenticate your account, sync notes, perform OCR, and deliver results.
  • AI processing — send PDF content and note text to Google Gemini for handwriting recognition, text cleanup, summaries, embeddings and Penlo AI answers.
  • Exports — create files, Notion pages or emails when you export a notebook.
  • Webhook delivery — send OCR results to your configured endpoint.
  • API and MCP access — serve notebook data via the REST API, and to AI assistants you connect via MCP, authenticated with your API key or a connection you approved.
  • Billing — manage your subscription with Polar.
  • Customer support — respond to enquiries.

6. Third-Party Services

Penlo relies on: Google Gemini (AI OCR, text processing, summaries, embeddings and Penlo AI), Supabase (database, authentication and file storage, hosted in the EU, Ireland), Vercel (application hosting), Polar (payments), Resend (sending emails you request, such as notebook exports), and optionally Dropbox, Microsoft OneDrive, Notion, and AI assistants you connect via MCP. Each integration accesses only the specific resources you authorise.

When you connect an AI assistant via MCP, your note text is returned to that assistant, which forwards it to its own AI provider (for example Anthropic or OpenAI). Penlo does not send your data to those providers itself. You can revoke access at any time in Settings › AI assistants & API.

7. Data Sharing

We do not sell, rent, or trade your personal data. We share data only with: third-party service providers (Section 6), webhook recipients you configure, AI assistants you connect, people who have a shared link you created, when required by law, or in the event of a business transfer.

8. Data Retention

Account data, notebooks, PDFs, OCR text, embeddings, connection tokens, API keys, webhook settings, and preferences are retained for as long as your account exists. If you delete your account (Settings › Account › Delete account), your account, notebooks, stored PDFs and all their text are deleted, and any remaining copies are permanently removed within 30 days. Your original files in your cloud storage are never modified or deleted by Penlo.

9. Data Security

All communication uses HTTPS/TLS encryption. OAuth tokens are stored server-side. API keys and AI assistant access tokens are stored only as SHA-256 hashes. Authentication is managed via Supabase Auth, and row-level security ensures each account can only access its own data. Webhook payloads can be signed with HMAC-SHA256. The backend is hosted in the EU.

10. Your Rights

Depending on your jurisdiction, you may have rights to: access, rectification, erasure (also via Settings › Account › Delete account), portability (also via exports and the REST API), objection, and restriction. Contact hello@penlo.app to exercise these rights.

11. International Data Transfers

Our database and file storage are hosted in the EU via Supabase. Some providers, including Google Gemini, Vercel and Polar, may process data in the United States or other regions. By using the Service, you acknowledge that your data may be transferred to and processed in countries outside your country of residence.

12. Changes to This Policy

We may update this Privacy Policy from time to time. When we make material changes, we will update the effective date. Your continued use of the Service constitutes acceptance of the updated policy.

13. Contact

Michał Włosik EFC
ul. Północna 16/5, 54-105 Wrocław, Poland
Email: hello@penlo.app