Last updated: August 7, 2026
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.
The extension operates entirely within your browser. Here is what it does:
*://*.linkedin.com/mynetwork/* pages. It reads the DOM (the page you're already viewing) to:
chrome.storage.local.chrome.storage.local.
All data is stored in chrome.storage.local, which persists on your device only. The following keys are used:
| Key | Purpose |
|---|---|
lc_all_invitations | Cached list of scraped invitations (name, sent date, profile URL) |
lc_selected_invitations | Subset of invitations you selected for withdrawal |
lc_daily_cap | Your configurable daily withdrawal limit (default: 100 for Pro, 5 for Free) |
lc_daily_cap_state | Today's withdrawal count + date (resets daily) |
lc_connections_daily_cap_state | Today's connection-sending count + date (resets daily) |
lc_queue_state | Current queue progress (status, completed, failed, etc.) |
lc_dev_pro_override | Developer testing toggle (not used in production) |
lc_paid_status | Cached ExtPay payment status (for offline fallback) |
lc_run_count | Legacy 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.
linkedin.com/mynetwork/invitation-manager/sent/): invitation names, sent dates, and profile URLs — used only to display the list and match invitations when performing withdrawals.linkedin.com/mynetwork/grow/): connection suggestion card names, headlines, and profile URLs — used only for keyword filtering and clicking connect buttons.This information is never transmitted anywhere. It is used solely within the popup UI and content script.
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.
The extension requests the following permissions:
activeTab — Access the current tab when you interact with the extension.storage — Persist settings and queue state locally on your device.tabs — Check if the user is on the correct LinkedIn page and navigate tabs when needed.| Permission | Scope | Justification |
|---|---|---|
activeTab | Grants temporary access to the current tab when the user invokes the extension | Required for the content script to read the invitation list and connection cards from the LinkedIn page, and to programmatically click "Withdraw" and "Connect" buttons |
storage | Grants access to chrome.storage.local | Required to persist daily caps, queue progress, selected invitations, and payment status between popup opens and browser restarts |
tabs | Grants access to tab URLs and tab management | Required 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 | Justification |
|---|---|
*://*.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 |
| Permission | Why we don't need it |
|---|---|
cookies | Not needed — we never read or modify cookies |
webRequest | Not needed — we don't intercept or modify network requests |
identity | Not needed — ExtPay handles authentication |
notifications | Not needed — progress is shown in the popup, not via system notifications |
clipboardWrite | Not needed — we don't write to the clipboard |
The extension's source code is available for full inspection. You can verify every claim in this privacy policy by reading the code.
For questions about this privacy policy, please open an issue on the project repository.