Privacy Policy — LinkedInPilot

Last updated: August 7, 2026

Summary

LinkedInPilot is a browser extension that helps you manage and grow your LinkedIn network. You can bulk-withdraw pending invitations and send new connection requests with keyword filtering. It does not collect, store, transmit, or share any personal data with any server. All data stays on your device.

Data We Do NOT Collect

What the Extension Does Locally

The extension operates entirely within your browser. Here is what it does:

  1. Content script — Runs only on *://*.linkedin.com/mynetwork/* pages. It reads the DOM (the page you're already viewing) to:
  2. Background service worker — Manages queues for both withdrawal and connection-sending operations, sends commands to the content script one-by-one with random delays, tracks daily caps, and checks if the user is on the correct LinkedIn page. All state is stored in chrome.storage.local.
  3. Popup UI — A React popup with two tabs: Reads/writes only to chrome.storage.local.

Local Storage

All data is stored in chrome.storage.local, which persists on your device only. The following keys are used:

KeyPurpose
lc_all_invitationsCached list of scraped invitations (name, sent date, profile URL)
lc_selected_invitationsSubset of invitations you selected for withdrawal
lc_daily_capYour configurable daily withdrawal limit (default: 100 for Pro, 5 for Free)
lc_daily_cap_stateToday's withdrawal count + date (resets daily)
lc_connections_daily_cap_stateToday's connection-sending count + date (resets daily)
lc_queue_stateCurrent queue progress (status, completed, failed, etc.)
lc_dev_pro_overrideDeveloper testing toggle (not used in production)
lc_paid_statusCached ExtPay payment status (for offline fallback)
lc_run_countLegacy counter (unused in current version)

None of this data ever leaves your browser. You can clear it at any time by removing the extension or via the popup's "Clear" buttons.

What the Extension Reads from the Page

This information is never transmitted anywhere. It is used solely within the popup UI and content script.

Payment Processing (ExtPay)

The extension uses ExtPay to process optional Pro subscriptions. ExtPay may collect your email address and payment information when you choose to upgrade. This data is handled by ExtPay's servers and is subject to ExtPay's Privacy Policy. LinkedInPilot itself does not collect or store your payment details — it only caches a boolean "paid" status locally for offline fallback.

Permissions

The extension requests the following permissions:

Permissions Reference

PermissionScopeJustification
activeTabGrants temporary access to the current tab when the user invokes the extensionRequired for the content script to read the invitation list and connection cards from the LinkedIn page, and to programmatically click "Withdraw" and "Connect" buttons
storageGrants access to chrome.storage.localRequired to persist daily caps, queue progress, selected invitations, and payment status between popup opens and browser restarts
tabsGrants access to tab URLs and tab managementRequired to check if the user is on the correct LinkedIn page (Grow page for sending connections, Sent Invitations page for withdrawing) and to navigate tabs when needed

Host Permissions

HostJustification
*://*.linkedin.com/mynetwork/*The content script runs only on LinkedIn's My Network pages to scrape invitations, click withdraw/connect buttons, and clean up clutter

Permissions NOT Requested

PermissionWhy we don't need it
cookiesNot needed — we never read or modify cookies
webRequestNot needed — we don't intercept or modify network requests
identityNot needed — ExtPay handles authentication
notificationsNot needed — progress is shown in the popup, not via system notifications
clipboardWriteNot needed — we don't write to the clipboard

Open Source

The extension's source code is available for full inspection. You can verify every claim in this privacy policy by reading the code.

Contact

For questions about this privacy policy, please open an issue on the project repository.