---
title: "URL et fuites de données sensibles : causes et remèdes"
url: https://uselinkpilot.com/fr/blog/why-urls-leak-sensitive-information
description: "Historique, journaux d’accès, CDN et en-têtes Referer gardent l’URL complète, même en HTTPS. Où les liens fuient et comment concevoir des URL sans risque."
lang: fr
---

Sécurité (https://uselinkpilot.com/fr/blog/category/security)

# Pourquoi les URL font fuiter des données sensibles

Historique, journaux d’accès, CDN et en-têtes Referer gardent l’URL complète, même en HTTPS. Où les liens fuient et comment concevoir des URL sans risque.

W. Miller (https://uselinkpilot.com/fr/author/w-miller)26 mai 2026 · Mis à jour le 22 octobre 2026 · À propos de LinkPilot (https://uselinkpilot.com/fr/about)

Une URL semble privée parce que seules les personnes à qui vous l’envoyez devraient l’avoir. En réalité, l’URL est l’une des données les plus journalisées du web: elle est notée, copiée et transmise par des systèmes qui ne vous ont jamais demandé votre permission et que vous ne pouvez pas auditer. Voici précisément où elle fuit, et comment concevoir des liens qui y résistent. C’est aussi pour cette raison qu’un générateur de liens secrets à usage unique (https://uselinkpilot.com/fr/tools/free-secret-link-generator) place la clé de déchiffrement dans la partie du lien située après le #: cette partie n’arrive jamais dans le journal d’un serveur.

## La surface de fuite

- **Historique du navigateur.** Chaque URL visitée est stockée localement et peut se synchroniser avec d’autres appareils, ainsi qu’avec le service de synchronisation de l’éditeur du navigateur.
- **Journaux d’accès des serveurs HTTP.** Par défaut, la plupart des serveurs journalisent le chemin complet de la requête et la chaîne de requête. Toute personne qui a accès aux journaux possède l’URL.
- **Proxys inverses et CDN.** Cloudflare, Fastly, votre répartiteur de charge: tous journalisent l’URL, chacun avec sa propre durée de conservation.
- **Chaînes d’agrégation de journaux.** Les journaux d’accès restent rarement sur une seule machine: ils sont envoyés vers des services centralisés de journalisation et de supervision, ce qui multiplie le nombre de systèmes qui détiennent l’URL.
- **En-têtes Referer.** Quand la page renvoie vers une ressource tierce, le navigateur peut envoyer l’URL d’origine dans l’en-tête `Referer`. Les scripts d’analyse, les vidéos intégrées et les pixels publicitaires la reçoivent tous.
- **Extensions de navigateur.** Les extensions qui ont l’autorisation de lire l’historique de navigation voient chaque URL, y compris la partie après le #.
- **Synchronisation des favoris.** Les URL mises en favori se synchronisent sur tous les appareils de l’utilisateur et sur les serveurs de l’éditeur du navigateur.
- **Outils d’aperçu de liens.** Slack, Teams, iMessage, LinkedIn et les clients de messagerie récupèrent les URL pour afficher un aperçu, sans rien signaler, dès l’envoi du message.
- **Proxys d’entreprise et passerelles de messagerie.** Beaucoup d’organisations inspectent, réécrivent et journalisent chaque URL qui franchit leur périmètre.

## HTTPS garde-t-il l’URL privée?

Non. HTTPS chiffre l’URL pendant le transport, et rien d’autre: les deux extrémités la stockent toujours. La précision compte, car « la connexion est chiffrée » est souvent compris comme « l’URL est privée ».

TLS chiffre le chemin et la chaîne de requête pendant le transport: un observateur placé sur le réseau entre le navigateur et le serveur ne peut pas lire `/reset?token=...`. Ce que TLS ne masque _pas_: le nom d’hôte de destination (visible lors de la résolution DNS et dans le champ SNI de TLS sur la plupart des connexions actuelles), ni tout ce qui se passe aux extrémités. Le navigateur enregistre toujours l’URL complète dans l’historique, et le serveur l’écrit toujours dans son journal d’accès. Le chiffrement en transit protège le trajet sur le réseau, pas les deux extrémités, et c’est aux extrémités que les URL fuient.

## Un exemple concret: la vie d’une URL

Suivons une seule URL sensible, par exemple un lien de réinitialisation, `https://example.com/reset?token=8f3a91...`, de l’envoi jusqu’au clic:

1. **Le fournisseur de messagerie** stocke le message (URL comprise) sans limite de durée, et son scanner de sécurité peut récupérer l’URL à la livraison.
2. **La passerelle de messagerie du destinataire** réécrit et journalise l’URL, puis la récupère de nouveau au moment du clic.
3. **Le DNS** résout `example.com`: le nom d’hôte (pas le chemin) figure désormais dans les journaux du résolveur.
4. **Le serveur web** écrit la ligne de requête complète dans son journal d’accès. Une entrée au format « combined » par défaut de nginx/Apache ressemble à ceci:

```text
203.0.113.7 - - [14/Jul/2026:09:12:45 +0000]
  "GET /reset?token=8f3a91... HTTP/1.1" 200 5123 "-" "Mozilla/5.0 ..."
```

5. **Le CDN placé devant lui** journalise la même URL, avec sa propre durée de conservation.
6. **Le script d’analyse de la page** enregistre l’URL de la page, chaîne de requête comprise, dans un système tiers, sauf s’il est explicitement configuré pour la retirer.
7. **Le navigateur** stocke l’URL dans l’historique et la synchronise.

Un seul envoi, sept copies, détenues par au moins cinq organisations. Aucun attaquant n’est intervenu: c’est le web qui fonctionne comme prévu.

## L’en-tête Referer en pratique

Si la page qui affiche votre secret renvoie vers une ressource externe (une police servie par un CDN, un script d’analyse, une image intégrée), le navigateur peut envoyer l’URL de la page à cette origine dans l’en-tête `Referer`.

Les navigateurs récents appliquent par défaut `strict-origin-when-cross-origin` (MDN: Referrer-Policy (https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Referrer-Policy)), qui réduit le référent envoyé à une autre origine à la seule origine (`https://example.com/` au lieu du chemin complet). C’est un vrai progrès, mais il ne faut pas compter dessus: les requêtes vers la même origine transmettent toujours l’URL complète, une politique définie par la page peut assouplir ce comportement, et les anciens clients et les webviews intégrées ne se comportent pas tous de la même façon.

Deux parades concrètes:

```html
<!-- Strip the referer for outbound requests on the page -->
<meta name="referrer" content="no-referrer" />
```

```http
Referrer-Policy: no-referrer
```

L’en-tête s’applique à tout le site, la balise meta à une page précise. Utilisez les deux pour une défense en profondeur. Mieux encore, servez les pages sensibles **sans aucune ressource tierce**: il n’y a alors personne à qui envoyer un référent.

## Un jeton est-il plus sûr dans le chemin, la chaîne de requête ou le fragment?

Seul le fragment reste en dehors de la requête, donc seul le fragment reste en dehors des journaux des serveurs; le chemin et la chaîne de requête se valent. L’endroit où vous placez un jeton dans l’URL détermine qui le voit:

| Emplacement | Envoyé au serveur? | Dans les journaux du serveur? | Dans le Referer? | Dans l’historique du navigateur? |
| --- | --- | --- | --- | --- |
| Chemin (`/s/abc123`) | Oui | Oui | Selon la politique | Oui |
| Requête (`?token=abc123`) | Oui | Oui | Selon la politique | Oui |
| Fragment (`#abc123`) | Non | Non | Non | Oui |

Le fragment est réellement différent: selon la RFC 3986, section 3.5 (https://www.rfc-editor.org/rfc/rfc3986#section-3.5), il est traité côté client et n’est jamais inclus dans la requête HTTP. C’est pour cela que les outils de partage de texte chiffrés de bout en bout y placent la clé de déchiffrement: le serveur ne la reçoit littéralement jamais. Il n’est pas invisible pour autant: l’historique du navigateur, les extensions et tout JavaScript exécuté sur la page peuvent le lire. Entre le chemin et la chaîne de requête, en revanche, la distinction ne change rien pour la confidentialité: les deux aboutissent dans les mêmes journaux.

## Le problème des jetons de réinitialisation de mot de passe

Les jetons sensibles dans les URL forment une classe de vulnérabilités reconnue: la CWE-598 de MITRE (« Use of GET Request Method With Sensitive Query Strings ») décrit exactement ce cas. Les données sensibles placées dans la chaîne de requête finissent dans les journaux, les historiques et les référents, quel que soit le chiffrement du transport. C’est pourquoi les parcours de réinitialisation de mot de passe bien conçus ne reposent jamais sur le seul secret de l’URL. Ils rendent le jeton **à usage unique**, **de courte durée** et **lié à une action ultérieure** (la définition d’un nouveau mot de passe), si bien qu’un jeton récupéré dans un journal trois semaines plus tard ne vaut plus rien.

La leçon vaut au-delà de ce cas: le plus souvent, vous ne pouvez pas tenir une URL à l’écart des journaux, mais vous pouvez faire en sorte que l’URL journalisée ne vaille plus rien au moment où quelqu’un la lit.

## Concevoir des URL qui peuvent fuiter sans danger

Partez du principe que chaque URL que vous créez finira par apparaître quelque part où elle n’était pas prévue, et faites en sorte que cela n’ait aucune importance:

- **Lecture unique.** Détruisez le secret après la première lecture réussie, pour qu’une URL qui a fuité soit déjà inutilisable quand elle apparaît dans l’historique de quelqu’un.
- **Expiration courte.** Limitez la fenêtre de fuite. Une URL qui a fonctionné pendant cinq minutes vaut bien moins qu’une URL qui a fonctionné pendant une semaine.
- **Phrase de passe transmise par un autre canal.** Exigez un secret qui n’a jamais figuré dans l’URL. Dès lors, l’URL à elle seule, qui est tout ce que contiennent les journaux, ne suffit plus.
- **Séparer la récupération de l’affichage.** Servez les métadonnées sur `GET` et ne livrez le contenu que sur un `POST` explicite, pour que les outils d’aperçu de liens et les scanners ne puissent pas consommer le secret.
- **Aucune ressource tierce sur les pages sensibles**, plus `Referrer-Policy: no-referrer` et `<meta name="robots" content="noindex">`.
- **Masquez les routes secrètes dans vos propres journaux.** Dans nginx, transformez l’URI de la requête avant la journalisation (voir la documentation de ngx_http_log_module (https://nginx.org/en/docs/http/ngx_http_log_module.html) pour `log_format`):

```nginx
map $request_uri $loggable_uri {
    ~^/s/   "/s/[redacted]";
    default $request_uri;
}
log_format redacted '$remote_addr - $remote_user [$time_local] '
                    '"$request_method $loggable_uri" $status';
access_log /var/log/nginx/access.log redacted;
```

Vous ne maîtrisez que vos propres journaux: les copies du CDN, du proxy et du navigateur restent. C’est précisément pour cela que les trois premiers points de cette liste font l’essentiel du travail.

## Ce que cela implique pour les liens secrets

Ce modèle de menace explique le fonctionnement des liens secrets de LinkPilot: l’URL est considérée comme destinée à fuiter tôt ou tard, donc l’URL seule ne suffit jamais. Un `GET` ne renvoie que des métadonnées; le contenu exige une action explicite d’affichage par `POST`, éventuellement protégée par une phrase de passe hachée en SHA-256 côté client. Les secrets détruits, expirés ou révoqués renvoient HTTP 410 et leur contenu est écrasé de façon irréversible, les réponses d’affichage portent `Cache-Control: no-store`, et les événements d’ouverture journalisent une IP hachée avec un sel renouvelé chaque jour, et non l’adresse brute. Il reste une limite, énoncée franchement sur la page architecture de sécurité (https://uselinkpilot.com/fr/security-architecture): la clé de déchiffrement voyage dans la partie du lien située après le #, donc le lien entier doit être traité comme le secret, ce qui est exactement le risque dont parle cet article. Une expiration courte, la destruction après lecture et une phrase de passe transmise par un autre canal limitent les dégâts quand un lien fuit.

_Mise à jour du 29 septembre 2026: ce paragraphe indiquait à l’origine que LinkPilot ne proposait pas de chiffrement de bout en bout. Le contenu texte est désormais chiffré dans le navigateur, pièces jointes comprises._

Essai gratuit, sans inscription

### Message éphémère

Envoyez une note qui disparaît après une seule lecture.

Ouvrir l’outil (https://uselinkpilot.com/fr/tools/burn-after-read-secret)

## Limites

La conception des URL ne règle pas tout. Elle ne contrôle pas ce que fait le destinataire après une lecture légitime, elle ne peut pas effacer les copies que des tiers détiennent déjà, et elle ne sauvera pas une URL qui expose des données personnelles en clair: si l’adresse e-mail d’un utilisateur figure dans la chaîne de requête, aucune expiration n’empêchera qu’elle soit journalisée. La règle durable: ne placez jamais dans une URL une donnée que vous devriez supprimer plus tard, car supprimer une URL de tous les endroits où elle a été copiée est pratiquement impossible. Concevez plutôt des URL qui ne valent rien une fois qu’elles ont fuité.

## Pour aller plus loin

- Comment fonctionnent les liens secrets à usage unique: https://uselinkpilot.com/fr/blog/how-one-time-secret-links-work
- Scanners de liens et secrets à usage unique: https://uselinkpilot.com/fr/blog/link-scanners-and-one-time-secrets
- Partager un mot de passe en toute sécurité: 5 méthodes comparées: https://uselinkpilot.com/fr/secure-password-sharing

## Références

- IETF, RFC 3986: Uniform Resource Identifier (URI): Generic Syntax, section 3.5 Fragment (https://www.rfc-editor.org/rfc/rfc3986#section-3.5).
- MDN Web Docs, Referrer-Policy header (https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Referrer-Policy).
- nginx, Module ngx_http_log_module (https://nginx.org/en/docs/http/ngx_http_log_module.html).

## Outils pour cet article

Message éphémère

Envoyez une note qui disparaît après une seule lecture.
https://uselinkpilot.com/fr/tools/burn-after-read-secret

Générateur de liens secrets à usage unique

Partagez un mot de passe ou une note par un lien qui ne s’ouvre qu’une fois.
https://uselinkpilot.com/fr/tools/free-secret-link-generator

Générateur de liens temporaires

Créez des liens qui cessent de fonctionner à l’heure choisie.
https://uselinkpilot.com/fr/tools/temporary-link

## Questions fréquentes

### HTTPS suffit-il à garder privés les paramètres d’une URL?

### Et les identifiants de fragment (#)?

### Faut-il placer un jeton dans le chemin ou dans la chaîne de requête?

### Les navigateurs récents envoient-ils encore l’URL complète dans l’en-tête Referer?

### Combien de temps les URL restent-elles dans les journaux des serveurs?

## LinkPilot envoie un lien secret qui disparaît une fois ouvert.

Chiffré dans votre navigateur, affiché une seule fois, puis détruit. Sans compte.

Créer un lien secret (https://uselinkpilot.com/fr/tools/free-secret-link-generator)

## À lire ensuite

Sécurité

### Partage de liens sécurisé pour les développeurs

Guide pratique pour les équipes techniques: quand utiliser un lien à usage unique, comment le créer par script et l’intégrer à l’onboarding et à la CI.
https://uselinkpilot.com/fr/blog/secure-link-sharing-for-developers

Sécurité

### Liens secrets ou gestionnaires de mots de passe

Un gestionnaire de mots de passe stocke les identifiants d’une équipe; un lien secret en remet un, une fois. La plupart des équipes ont besoin des deux.
https://uselinkpilot.com/fr/blog/secret-links-vs-password-managers

Sécurité

### Scanners de liens et secrets à usage unique

Un lien à usage unique détruit sur un simple GET meurt dès que Slack ou une passerelle e-mail en crée l’aperçu. Métadonnées sur GET, destruction au clic.
https://uselinkpilot.com/fr/blog/link-scanners-and-one-time-secrets

## Structured data

```json
[
  {
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [
      {
        "@type": "ListItem",
        "position": 1,
        "name": "Accueil",
        "item": "https://uselinkpilot.com/fr"
      },
      {
        "@type": "ListItem",
        "position": 2,
        "name": "Blog",
        "item": "https://uselinkpilot.com/fr/blog"
      },
      {
        "@type": "ListItem",
        "position": 3,
        "name": "Pourquoi les URL font fuiter des données sensibles",
        "item": "https://uselinkpilot.com/fr/blog/why-urls-leak-sensitive-information"
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "BlogPosting",
    "@id": "https://uselinkpilot.com/fr/blog/why-urls-leak-sensitive-information#article",
    "headline": "Pourquoi les URL font fuiter des données sensibles",
    "description": "Historique, journaux d’accès, CDN et en-têtes Referer gardent l’URL complète, même en HTTPS. Où les liens fuient et comment concevoir des URL sans risque.",
    "inLanguage": "fr",
    "datePublished": "2026-05-26",
    "dateModified": "2026-10-22",
    "image": "https://uselinkpilot.com/logo-512.png",
    "author": {
      "@type": "Person",
      "@id": "https://uselinkpilot.com/author/w-miller#person",
      "name": "W. Miller",
      "url": "https://uselinkpilot.com/fr/author/w-miller",
      "worksFor": {
        "@type": "Organization",
        "name": "LinkPilot",
        "url": "https://uselinkpilot.com"
      }
    },
    "publisher": {
      "@type": "Organization",
      "name": "LinkPilot",
      "url": "https://uselinkpilot.com",
      "logo": {
        "@type": "ImageObject",
        "url": "https://uselinkpilot.com/logo-512.png",
        "width": 512,
        "height": 512
      }
    },
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://uselinkpilot.com/fr/blog/why-urls-leak-sensitive-information"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "HTTPS suffit-il à garder privés les paramètres d’une URL ?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "HTTPS chiffre l’URL pendant le transport, mais l’URL est toujours enregistrée dans l’historique du navigateur et dans les journaux d’accès des serveurs, et elle est transmise par l’en-tête Referer quand la page renvoie vers un autre site. Le chiffrement en transit ne rend pas une URL secrète."
        }
      },
      {
        "@type": "Question",
        "name": "Et les identifiants de fragment (#) ?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Les fragments ne sont pas envoyés au serveur. C’est pour cela que certains outils chiffrés de bout en bout y placent la clé. Ils restent visibles pour les extensions du navigateur et pour tout JavaScript exécuté sur la page."
        }
      },
      {
        "@type": "Question",
        "name": "Faut-il placer un jeton dans le chemin ou dans la chaîne de requête ?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Aucun des deux n’est vraiment plus confidentiel. Les deux finissent dans les mêmes journaux et les mêmes outils d’analyse. Si le jeton doit figurer dans l’URL, traitez l’URL entière comme le secret et rendez-la utilisable une seule fois."
        }
      },
      {
        "@type": "Question",
        "name": "Les navigateurs récents envoient-ils encore l’URL complète dans l’en-tête Referer ?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Vers une autre origine, les navigateurs récents appliquent par défaut strict-origin-when-cross-origin, qui réduit le référent à la seule origine. Mais les requêtes vers la même origine transmettent toujours l’URL complète, une page peut assouplir la politique et les webviews intégrées ne se comportent pas toutes de la même façon. Définissez donc explicitement Referrer-Policy: no-referrer sur les pages sensibles au lieu de vous fier aux réglages par défaut."
        }
      },
      {
        "@type": "Question",
        "name": "Combien de temps les URL restent-elles dans les journaux des serveurs ?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Aussi longtemps que le prévoit la politique de conservation, souvent de quelques semaines à quelques mois. Les journaux d’accès sont en outre couramment envoyés vers des services d’agrégation, si bien que des copies existent dans des systèmes que le propriétaire du site ne gère pas directement. Partez du principe que toute URL arrivée sur un serveur est stockée à plusieurs endroits que vous ne pouvez pas recenser."
        }
      }
    ],
    "inLanguage": "fr"
  },
  {
    "@context": "https://schema.org",
    "@type": "SoftwareApplication",
    "@id": "https://uselinkpilot.com/#software",
    "name": "LinkPilot",
    "applicationCategory": "BusinessApplication",
    "operatingSystem": "Web",
    "description": "LinkPilot is a secure link management platform for creating branded short links, tracking engagement, and sharing secrets with expiring, protected, self-destructing links.",
    "url": "https://uselinkpilot.com",
    "offers": [
      {
        "@type": "Offer",
        "name": "Free",
        "price": "0",
        "priceCurrency": "USD",
        "url": "https://uselinkpilot.com/pricing"
      },
      {
        "@type": "Offer",
        "name": "Pro",
        "price": "29",
        "priceCurrency": "USD",
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "price": "29",
          "priceCurrency": "USD",
          "billingDuration": "P1M"
        },
        "url": "https://uselinkpilot.com/pricing"
      },
      {
        "@type": "Offer",
        "name": "Agency",
        "price": "299",
        "priceCurrency": "USD",
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "price": "299",
          "priceCurrency": "USD",
          "billingDuration": "P1M"
        },
        "url": "https://uselinkpilot.com/pricing"
      },
      {
        "@type": "Offer",
        "name": "Agency Plus",
        "price": "799",
        "priceCurrency": "USD",
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "price": "799",
          "priceCurrency": "USD",
          "billingDuration": "P1M"
        },
        "url": "https://uselinkpilot.com/pricing"
      },
      {
        "@type": "Offer",
        "name": "Pro (yearly)",
        "price": "288",
        "priceCurrency": "USD",
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "price": "288",
          "priceCurrency": "USD",
          "billingDuration": "P1Y"
        },
        "url": "https://uselinkpilot.com/pricing"
      },
      {
        "@type": "Offer",
        "name": "Agency (yearly)",
        "price": "2988",
        "priceCurrency": "USD",
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "price": "2988",
          "priceCurrency": "USD",
          "billingDuration": "P1Y"
        },
        "url": "https://uselinkpilot.com/pricing"
      },
      {
        "@type": "Offer",
        "name": "Agency Plus (yearly)",
        "price": "7980",
        "priceCurrency": "USD",
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "price": "7980",
          "priceCurrency": "USD",
          "billingDuration": "P1Y"
        },
        "url": "https://uselinkpilot.com/pricing"
      },
      {
        "@type": "Offer",
        "name": "Enterprise",
        "priceSpecification": {
          "@type": "PriceSpecification",
          "priceCurrency": "USD"
        },
        "url": "https://uselinkpilot.com/pricing"
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Organization",
    "@id": "https://uselinkpilot.com/#organization",
    "name": "LinkPilot",
    "alternateName": "LinkPilot by TetraCore",
    "url": "https://uselinkpilot.com",
    "contactPoint": {
      "@type": "ContactPoint",
      "contactType": "customer support",
      "email": "support@uselinkpilot.com",
      "url": "https://uselinkpilot.com/support"
    },
    "parentOrganization": {
      "@type": "Organization",
      "@id": "https://tetracorehq.com/#organization",
      "name": "TetraCore",
      "url": "https://tetracorehq.com/"
    },
    "logo": {
      "@type": "ImageObject",
      "url": "https://uselinkpilot.com/logo-512.png",
      "width": 512,
      "height": 512
    },
    "description": "LinkPilot is a secure link management platform for creating branded short links, tracking engagement, and sharing secrets with expiring, protected, self-destructing links.",
    "sameAs": [
      "https://x.com/uselinkpilot",
      "https://www.linkedin.com/company/uselinkpilot",
      "https://facebook.com/uselinkpilot",
      "https://github.com/TetraCoreHQ/linkpilot-cli",
      "https://github.com/TetraCoreHQ/linkpilot-mcp",
      "https://www.npmjs.com/package/linkpilot",
      "https://www.npmjs.com/package/@uselinkpilot/sdk",
      "https://www.npmjs.com/package/@uselinkpilot/mcp",
      "https://chromewebstore.google.com/detail/linkpilot-short-links-and/mnmppadihpcncicldpkmgknhnjkondad",
      "https://addons.mozilla.org/en-US/firefox/addon/uselinkpilot/"
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "WebSite",
    "name": "LinkPilot",
    "url": "https://uselinkpilot.com",
    "potentialAction": {
      "@type": "SearchAction",
      "target": "https://uselinkpilot.com/blog?q={search_term_string}",
      "query-input": "required name=search_term_string"
    }
  }
]
```