privacy

Privacy.

Plain English: we collect the minimum we need to draft good posts for you, store it securely, never sell it, and let you erase it.

Who’s responsible

Penwell, Cyprus, is responsible for your data. Contact: hello@penwell.io.

What we collect

  • X profile and posts. When you connect X via OAuth, we read your handle, follower counts, recent tweets, and analytics on tweets we post. The tweets are used to build your voice profile.
  • Account info. Name, timezone, and email (optional).
  • Your stock list: the stocks you type or read from a screenshot, each with the share you give it (if any), never an amount. The screenshot is read, then not kept.
  • Payment info. Subscription state. Your billing country, kept for VAT. Card details are handled by Stripe. We never see or store them.
  • Conversations. Drafts, edits, feedback, and chat messages between you and Penwell. We use these to train your voice profile and improve the product.
  • Your code activity. If you connect GitHub, we read commit messages, pull request titles and release notes from the repositories you allow — so posts can be written from what you shipped. We never read your source code.
  • Your site and search data. The pages of any site you add, and — if you connect Google Search Console — read-only performance data for it: which searches show your pages, their position, and how often they are clicked.
  • Bookmarks you save on X. When you visit your bookmarks with the extension installed, we store the post id, the author's handle and the text, so a bookmark can become a draft.
  • The handles on your X Notifications page and the posts on your Bookmarks page, read by the extension when you open those pages.
  • Public posts we consider replying to. To build your feed of reply candidates we store public posts from X — their text, author and media — the same posts anyone can see. They are other people's posts, so we keep only what the ranking needs.
  • Usage analytics. Pageviews and events via PostHog so we can see what works and what doesn't. They are anonymous until you sign in; after that they are linked to your account, including the pages you visited before you signed up.
  • Recordings of visits to our public pages. On the pages anyone can open without signing in, like the home page, pricing and the free tools, PostHog records what you click and scroll and what the page shows, including a free tool's result. What you type into a box is hidden. Once you have signed in, that browser is never recorded.

How we use it

  • Drafting posts and replies in your voice.
  • Coaching you on cadence, pillars, and quality.
  • Billing and account operations.
  • Improving the product (in aggregate; never sold).

How we store it

Data is hosted on Supabase (eu-west-1). X OAuth tokens are encrypted at rest with AES-256-GCM. Application traffic uses TLS in transit.

Who else sees it (sub-processors)

We use a small number of trusted services. They see only what they need to function:

  • Anthropic. Generates drafts, and answers the weekly questions we ask AI assistants. Sees the prompts and context we send, including your voice profile. The weekly questions never name your product — that is what keeps the answer honest. Anthropic also reads the screenshot you upload, to list your stocks.
  • OpenAI (via the Vercel AI Gateway). Answers the same weekly questions. It sees the question and your category, never your product name.
  • Google (via the Vercel AI Gateway). Reads the video in a post you are replying to, including what is said in it, so the draft can respond. Also answers the same weekly questions.
  • Perplexity (via the Vercel AI Gateway). Answers the same weekly questions. It sees the question and your category, never your product name.
  • X (Twitter). Receives posts we publish on your behalf.
  • GitHub. If you connect it, we read commit messages, pull request titles and release notes from the repositories you allow.
  • Google Search Console. If you connect it, we read your site's search performance. Read-only — we never change anything in your Google account.
  • Supabase. Primary database and auth.
  • Vercel. Application hosting.
  • Upstash. Rate limiting and short-lived caches. Holds visitor IP addresses and cached page content.
  • Inngest. Runs the scheduled jobs that draft and post, so job payloads carry draft text.
  • PostHog. Product analytics, and the recordings of visits to our public pages.
  • Sentry. Error and crash reports, so we can fix what breaks. Configured not to send personal data, and it does not record your screen.
  • Stripe. Subscription billing. Card details stay with Stripe; we never see them.

We do not sell your data.

Your controls

  • Disconnect X from Settings → Integrations at any time. We immediately delete that account's row: the OAuth tokens and everything tied to that account.
  • Write chats belong to the X account they were made on. Removing that account hides them; restoring it within 30 days brings them back; after 30 days they are deleted.
  • Delete your account. Email hello@penwell.io and we delete your row, drafts, and voice profile within 30 days. There is no self-serve delete button yet.
  • What deletion does not remove. We keep a one-way fingerprint of the email, card and X account an invite’s free days went to, so it’s one per person. The fingerprint is an HMAC, not the value. It survives account deletion on purpose — otherwise deleting an account would be a way to take an invite’s free days again — and it cannot be reversed into your details. We delete it 24 months after the free days it records.
  • Export your data. Email us and we'll send a JSON dump within 7 days.
  • EU/UK rights. If you're in the EU or UK, you have rights of access, rectification, erasure, and portability under GDPR. Email us to use them.

The free AI visibility check

Until October 20, 2026, anyone could run a check at penwell.io/geo on any domain, with no account. We no longer offer it, and the public report pages it made are gone: penwell.io/geo now leads to our free tools.

We still hold the reports of the checks run before then. Each holds only what was already public, fetched the way a crawler fetches it: the domain, a crawl report of its robots.txt, llms.txt, sitemap and homepage (including the site's title and description), the question we built from it, excerpts of what each AI model answered, the names of any other products a model named instead, and the draft post we wrote. If one is about your site and you want it gone, email hello@penwell.io with the domain and we will delete it. You do not need an account with us to ask, and you do not have to explain why.

Cookies

We use a session cookie for your dashboard and a small analytics cookie via PostHog for pageview attribution. No third-party advertising trackers. The Chrome extension does not send us the X cookies your browser holds.

Children

Penwell is not for anyone under 18. We do not knowingly collect data from minors.

Contact

Privacy questions or data requests: hello@penwell.io.

last updated · October 20, 2026