---
title: "Arquitectura de seguretat dels enllaços secrets | LinkPilot"
url: https://uselinkpilot.com/ca/security-architecture
description: "Com gestiona LinkPilot els enllaços secrets: emmagatzematge, caducitat, frase de contrasenya, bots, metadades registrades i separació de les estadístiques."
lang: ca
---

Arquitectura de seguretat

# Com funcionen els enllaços secrets de LinkPilot

Una referència en llenguatge planer sobre com es desa, es mostra i es destrueix el contingut dels secrets, i sobre què hem decidit no fer-ne.

clau = la part que va després del # · no s'envia mai · AES-GCM-256

**Els enllaços secrets són privats des del disseny.** LinkPilot separa el flux per compartir secrets de les estadístiques dels enllaços de màrqueting. El contingut dels secrets no es fa servir mai per a estadístiques ni per elaborar perfils.

Heu trobat una vulnerabilitat o un enllaç abusiu? Informeu-ne aquí (https://uselinkpilot.com/report): els informes arriben directament a l'equip.

## 1. Visió general

LinkPilot fa funcionar dos circuits d'enllaços diferents a la mateixa plataforma: els **enllaços curts**, amb domini propi i estadístiques de clics, i els **enllaços secrets**, per lliurar contingut confidencial d'un sol ús, amb caducitat i protegit amb frase de contrasenya. Es mantenen separats en les dades, en el codi i en el producte, perquè el contingut dels secrets no pugui acabar mai als taulers d'estadístiques, a les exportacions de dades ni a les funcions d'IA.

Aquesta pàgina descriu específicament el circuit dels enllaços secrets: com es crea un secret, com es mostra, què passa quan algú l'ha vist i quines metadades es registren pel camí.

## 2. Com funcionen els enllaços secrets

1. Qui l'envia crea un secret i, si vol, hi afegeix una frase de contrasenya, un termini de caducitat i un límit de visualitzacions abans que es destrueixi.
2. El navegador de qui l'envia xifra el contingut abans d'enviar res. El que ens arriba és text xifrat, que es desa en una taula dedicada, `secret_links`, aïllada de les taules d'estadístiques de clics.
3. LinkPilot torna un URL curt (per exemple, `shrd.link/s/<slug>#k=<key>`) per compartir amb el destinatari. La part que va després del `#` és la clau de desxifratge: es genera al navegador de qui l'envia i no se'ns transmet mai. Més endavant no podem reconstruir aquest URL.
4. Quan el destinatari obre l'enllaç, l'aplicació crida la funció `secret-reveal` al nostre servidor perimetral. Una petició `GET` només torna metadades (l'estat i si cal frase de contrasenya). El text xifrat només el torna una petició `POST` amb la frase de contrasenya. Després, el navegador del destinatari el desxifra amb la clau de la part de l'enllaç que va després del #. La funció que el mostra no desxifra mai res i, encara que volgués, no podria.
5. Cada visualització correcta es registra de manera atòmica i, segons el límit de visualitzacions, pot marcar immediatament el secret com a `burned` (destruït).

## 3. Model de xifratge

Aquí volem ser precisos, perquè les paraules «xifrat» i «coneixement zero» sovint es fan servir amb poc rigor.

- **En trànsit:** tot el trànsit va xifrat amb TLS d'un extrem a l'altre entre el destinatari, el nostre servidor perimetral i la nostra base de dades gestionada.
- **Al vostre navegador, abans de l'enviament:** des del 29 de setembre de 2026, el contingut es xifra al client amb AES-GCM-256 i una clau de 256 bits generada al vostre navegador. Desem el text xifrat i res més. La clau viatja a la part de l'enllaç que va després del `#`, que els navegadors no envien a cap servidor: ni a nosaltres ni a Cloudflare, que serveix la pàgina on es mostra el secret.
- **En repòs:** el text xifrat es desa en una columna separada lògicament de les dades d'estadístiques, en una instància gestionada de Postgres que també té xifratge de disc.
- **Frases de contrasenya:** quan en poseu una, es converteix en una forma Unicode estàndard (NFKC), perquè la mateixa frase escrita amb un altre teclat o mètode d'entrada doni la mateixa clau. Després es reforça amb PBKDF2-SHA256 (210.000 iteracions) i es combina amb la clau de l'enllaç mitjançant HKDF-SHA256, de manera que ni l'enllaç sol ni la frase de contrasenya sola no poden desxifrar el secret. A part, s'envia un hash SHA-256 de la frase perquè el servidor pugui negar-se a tornar el text xifrat a qui no la coneix. La frase de contrasenya en text sense xifrar no s'escriu mai a la nostra base de dades ni als registres.
- **Què protegeix i què no:** ens treu del perímetre de confiança a nosaltres, a la nostra base de dades i al nostre servidor perimetral. No protegeix un secret si algú ha reenviat l'enllaç complet, n'ha fet una captura de pantalla o si alguna cosa del costat del destinatari l'ha registrat, perquè aquest enllaç porta la clau.
- **Les dues excepcions, dites clarament:** els secrets creats abans del 29 de setembre de 2026 es desen com a text sense xifrar. No es reescriuen mai sense avisar, continuen funcionant exactament igual que abans i desapareixen a mesura que caduquen. Els fitxers adjunts també es xifren al navegador, amb una clau derivada de la clau del secret, de manera que un sol enllaç obre totes dues coses i nosaltres no tenim la clau de cap. El que sí que podem veure és el nom, la mida i el tipus del fitxer: són columnes de metadades, no contingut. Els adjunts pujats abans del 29 de setembre de 2026 continuen desats com a fitxers sense xifrar.

Val la pena dir clarament la conseqüència pràctica: com que no tenim mai la clau, no us podem recuperar cap secret. Si es perd l'enllaç, el contingut es perd.

**Comproveu-ho.** No cal que us cregueu el xifratge al navegador només perquè ho diem. El mateix codi de xifratge es publica al nostre repositori linkpilot-cli (https://github.com/TetraCoreHQ/linkpilot-cli) de codi obert (llicència MIT), que conté la CLI, l'SDK de TypeScript i el servidor MCP. El repositori inclou els vectors de prova amb què es comprova l'aplicació web: podeu llegir la derivació de claus, executar els vectors i confirmar que el que surt d'un client és text xifrat i que la clau només va a la part de l'enllaç que va després del #. Si trobeu cap diferència entre aquest codi i aquesta pàgina, informeu-ne (https://uselinkpilot.com/report).

## 4. Què passa quan s'ha vist un secret

- La visualització es registra de manera atòmica mitjançant una funció de la base de dades, de manera que dos intents simultanis no poden revelar el secret dues vegades.
- Si s'arriba al límit de visualitzacions, l'estat del secret passa a `burned` i el contingut desat se sobreescriu amb `[REDACTED]`.
- Els intents posteriors reben una resposta clara, «ja s'ha vist i s'ha destruït», amb el codi HTTP 410.
- La cronologia d'auditoria registra cada visualització, destrucció i revocació amb un hash de l'IP. Serveix per respondre a incidents i per saber quan cal canviar les credencials.

## 5. Caducitat i revocació

- Tots els secrets poden tenir una caducitat per temps (1 hora, 24 hores o 7 dies amb qualsevol pla, o una data i hora personalitzades amb el pla Pro) i un límit opcional de visualitzacions.
- Els secrets caducats passen a l'estat `expired` en el següent accés, i el contingut s'esborra en la mateixa escriptura.
- El propietari pot revocar un secret manualment en qualsevol moment des del tauler. Un secret revocat deixa de mostrar-se immediatament i torna el codi HTTP 410.
- Un cop un secret s'ha destruït, ha caducat o s'ha revocat, el contingut no es pot recuperar des del producte. Per disseny, no hi ha cap acció per desfer la revocació ni per restaurar-lo.

## 6. Protecció amb frase de contrasenya

- La frase de contrasenya és opcional, però la recomanem per a qualsevol secret que no vulgueu que consumeixi algú que l'obri per error.
- El navegador calcula un hash SHA-256 de la frase de contrasenya i l'envia per TLS; el servidor només compara aquest hash. El valor original no arriba mai a la nostra base de dades.
- Limitem els intents de frase de contrasenya a 5 per IP, per minut i per secret, amb un limitador en memòria i una finestra lliscant a la base de dades.
- Cada intent fallit s'escriu al registre d'auditoria amb un hash de l'IP, perquè els propietaris de l'espai de treball puguin veure activitat sospitosa.
- Us recomanem enviar la frase de contrasenya per un canal diferent del de l'enllaç: per exemple, l'enllaç per correu i la frase per missatge directe de Slack o per SMS.

## 7. Protecció contra escàners d'enllaços i bots de previsualització

Els escàners de seguretat del correu i les previsualitzacions d'enllaços de les aplicacions de xat (Slack, LinkedIn, iMessage, Outlook) obren els URL tan bon punt apareixen. En un enllaç que es destrueix després de la primera lectura, un disseny ingenu faria que la primera previsualització destruís el secret abans que el destinatari el veiés.

LinkPilot ho evita de tres maneres:

- **Punts d'accés separats per a metadades i per mostrar el secret.** Una petició `GET` al punt d'accés només torna l'estat i si cal frase de contrasenya. Una visualització només es registra amb una petició `POST` explícita, que és el que fa una persona quan fa clic al botó Mostra.
- **Barrera de frase de contrasenya.** Quan hi ha una frase de contrasenya, no es torna el contingut a ningú, ni bot ni persona, sense el hash correcte.
- **Cache-Control: no-store** a totes les respostes que mostren el secret, perquè els intermediaris no desin el contingut a la memòria cau.

## 8. Quines metadades es registren

De cada intent de veure un secret, només registrem el que cal perquè els propietaris de l'espai de treball tinguin un rastre d'auditoria fiable:

- **Data i hora** de l'intent.
- **Hash de l'IP:** SHA-256 de l'IP del client combinada amb una sal que es renova cada dia, truncat a 32 caràcters. L'IP original no es desa mai.
- **Ubicació aproximada** (país i ciutat) segons el servidor perimetral, quan el proveïdor la facilita.
- **Cadena User-Agent** que envia el client.
- **Tipus d'esdeveniment:** created, viewed, failed_passphrase, burned, expired, revoked.

_No_ registrem: el contingut del secret, la frase de contrasenya original, l'adreça IP original, galetes del destinatari (no n'hi ha cap) ni cap píxel de seguiment de tercers.

## 9. Diferència entre els enllaços secrets i els enllaços amb estadístiques

| Aspecte | Enllaços curts (estadístiques) | Enllaços secrets |
| --- | --- | --- |
| Finalitat | Enllaços curts amb domini propi i seguiment de clics | Lliurament segur d'un sol ús i amb caducitat |
| Emmagatzematge | Enllaços i esdeveniments de clic | Text xifrat en una taula aïllada, secret_links, que s'esborra quan es destrueix |
| Dades per clic | Hash de l'IP, referent, UA, ubicació, UTM | Hash de l'IP, UA, ubicació, tipus d'esdeveniment; sense contingut |
| Ús per a estadístiques o IA | Sí (agregat i amb hash) | Mai: en queda totalment exclòs |
| Durada | Permanent fins que el suprimiu | Es destrueix, caduca o es revoca; després el contingut és irrecuperable |
| Previsualitzacions de bots | Es compten com a bot i es filtren de les estadístiques | GET només torna metadades; els bots no poden veure el secret |

Tots dos circuits comparteixen marca, tauler i controls d'equip, però els fluxos de dades no es creuen.

## 10. Fitxers adjunts

- Els fitxers es xifren al navegador amb una clau derivada de la clau del secret, de manera que un sol enllaç obre el text i el fitxer.
- Se serveixen mitjançant URL signats de curta durada, amb la mateixa frase de contrasenya, caducitat i destrucció que el text.
- El nom, la mida i el tipus d'un fitxer continuen visibles per a nosaltres com a metadades; el contingut, no.
- Els adjunts pujats abans del 29 de setembre de 2026 continuen desats com a fitxers sense xifrar fins que caduquen; no es reescriuen mai.

## 11. Conservació

- El contingut d'un secret se sobreescriu quan es destrueix, caduca o es revoca. Per disseny, no es pot restaurar, i nosaltres no us el podem recuperar.
- Les dades del compte es conserven mentre l'espai de treball és actiu i durant 30 dies després de suprimir-lo, perquè una supressió accidental es pugui desfer.
- Al cap de 90 dies, les estadístiques de clics dels enllaços curts s'agreguen en recomptes anonimitzats.
- Els esdeveniments de la cronologia d'auditoria només conserven els valors amb hash i sal descrits a l'apartat 8; no hi ha cap adreça original per conservar.

## 12. Secrets anònims i secrets de l'espai de treball

El generador gratuït d'enllaços secrets (https://uselinkpilot.com/ca/tools/free-secret-link-generator) crea secrets sense compte. La destrucció després de la lectura sempre és activa, la caducitat és d'1 hora, 24 hores o 7 dies, Turnstile protegeix el formulari contra l'abús automatitzat i s'aplica el mateix xifratge al navegador.

Un secret de l'espai de treball hi afegeix la cronologia d'auditoria, la revocació des del tauler, els fitxers adjunts i, amb el pla Pro, frases de contrasenya i una data i hora de caducitat personalitzades. El model de xifratge és idèntic en tots dos casos.

## 13. Límits, dits clarament

- **Un enllaç reenviat és un secret reenviat.** Res del disseny no pot impedir que un destinatari passi l'enllaç a algú altre abans d'obrir-lo. Les mesures per reduir-ho són una caducitat curta i una frase de contrasenya enviada per un segon canal.
- **Un enllaç perdut és un secret perdut.** No tenim mai la clau, així que no hi ha res per recuperar.
- **L'excepció d'abans del 29 de setembre.** Els secrets creats abans d'aquesta data es van desar com a text sense xifrar fins que van caducar.
- **No és de codi obert ni es pot autoallotjar.** El client de xifratge es publica amb vectors de prova al repositori de la CLI, amb llicència MIT; el servei en si és un producte allotjat. Si necessiteu autoallotjament, consulteu les alternatives de codi obert (https://uselinkpilot.com/blog/best-onetimesecret-alternatives).
- **Una visualització no és una persona.** La cronologia registra quan i, aproximadament, des d'on es va obrir un secret, però mai qui l'ha obert. Si l'ha obert qui no tocava, canvieu la credencial.

## 14. Informar d'una vulnerabilitat

Podeu informar de problemes de seguretat i d'enllaços abusius a /report (https://uselinkpilot.com/report), i els informes arriben directament a l'equip. Les sol·licituds de privadesa i de dades s'adrecen a privacy@uselinkpilot.com i es responen en un termini de 30 dies; la pàgina de l'RGPD (https://uselinkpilot.com/ca/gdpr) detalla quines dades tractem i amb quina base legal.

## 15. Preguntes freqüents

### El secret té xifratge d'extrem a extrem?

Sí, per als secrets creats a partir del 29 de setembre de 2026. El contingut es xifra al vostre navegador amb AES-GCM-256 abans d'enviar-lo, i la clau es posa a la part de l'enllaç que va després del #, un fragment d'URL que els navegadors no transmeten mai. Només rebem text xifrat i no rebem mai la clau, així que no podem llegir el secret. Els fitxers adjunts es xifren de la mateixa manera, amb una clau derivada del mateix enllaç. Hi ha dues advertències que volem dir clarament: els secrets creats abans d'aquesta data encara es desen com a text sense xifrar i continuen funcionant igual fins que caduquen, i el nom, la mida i el tipus d'un fitxer encara es desen sense xifrar, encara que el contingut sí que està xifrat.

### El personal de LinkPilot pot llegir els meus secrets?

No, si el secret s'ha xifrat al vostre navegador: la clau de desxifratge no se'ns envia mai, de manera que un operador amb accés complet a la base de dades només veu text xifrat. El mateix val per a qualsevol persona que comprometi la nostra base de dades o el nostre servidor perimetral. Hi ha tres límits que cal dir amb franquesa: un secret creat abans del 29 de setembre de 2026 es desa com a text sense xifrar i un operador el podria llegir mentre encara és actiu; encara podem veure el nom, la mida i el tipus d'un fitxer, tot i que no en podem llegir el contingut; i qualsevol persona que obtingui l'enllaç complet, inclosa la part que va després del #, pot obrir el secret. Per això continuen sent importants una caducitat curta i la destrucció després de la lectura.

### Si Slack o el correu mostren una previsualització de l'enllaç, el secret es destrueix?

No. Les previsualitzacions d'enllaços fan peticions GET, que només tornen metadades (l'estat i si cal frase de contrasenya). Una visualització només es registra amb una petició POST explícita, que és el que fa el destinatari quan fa clic al botó Mostra.

### Quina informació registreu de cada visualització?

De cada visualització registrem: la data i hora, el hash de l'IP (SHA-256 amb una sal que es renova cada dia, truncat a 32 caràcters), el país i la ciutat segons el servidor perimetral si estan disponibles, i la cadena User-Agent. No registrem el contingut del secret, la frase de contrasenya original ni l'adreça IP original.

### Es fan servir els secrets per entrenar models o per a estadístiques?

No. El contingut dels secrets queda exclòs de les estadístiques, de l'elaboració de perfils i de qualsevol funció d'IA. El circuit dels enllaços secrets està separat del circuit d'estadístiques dels enllaços curts.

### Puc veure qui ha obert un secret?

Qui, no. Amb el pla Pro, la cronologia mostra quan s'ha vist el secret cada vegada, el país i la ciutat que indica el servidor perimetral, la cadena User-Agent del navegador i un hash de l'adreça de xarxa amb una sal diària. N'hi ha prou per confirmar el lliurament o detectar una obertura des d'un lloc inesperat, i està pensat perquè no es pugui convertir en una identitat.

### Puc allotjar LinkPilot al meu servidor?

No. LinkPilot és un servei allotjat. El client de xifratge es publica al repositori de la CLI, amb llicència MIT i vectors de prova perquè es pugui auditar, però el servei en si no és de codi obert. Si necessiteu autoallotjament, les opcions habituals són OneTimeSecret, Password Pusher, PrivateBin i Yopass.

### Què passa si algú intenta endevinar la frase de contrasenya per força bruta?

Els intents de frase de contrasenya estan limitats a 5 per IP, per minut i per secret, en dues capes (en memòria i a la base de dades). Els intents fallits s'escriuen al registre d'auditoria amb un hash de l'IP.

## Relacionat

- Compartir contrasenyes de manera segura: comparativa de 5 mètodes: https://uselinkpilot.com/ca/secure-password-sharing
- Generador d'enllaços secrets d'un sol ús: https://uselinkpilot.com/ca/tools/free-secret-link-generator
- Xifratge al client per compartir secrets: https://uselinkpilot.com/blog/client-side-encryption-for-secret-sharing
- Política de privadesa: https://uselinkpilot.com/privacy
- RGPD: https://uselinkpilot.com/ca/gdpr

## Proveu un enllaç secret

Pla Free, gratuït per sempre. No cal targeta de crèdit.

## Structured data

```json
[
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "El secret té xifratge d'extrem a extrem?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Sí, per als secrets creats a partir del 29 de setembre de 2026. El contingut es xifra al vostre navegador amb AES-GCM-256 abans d'enviar-lo, i la clau es posa a la part de l'enllaç que va després del #, un fragment d'URL que els navegadors no transmeten mai. Només rebem text xifrat i no rebem mai la clau, així que no podem llegir el secret. Els fitxers adjunts es xifren de la mateixa manera, amb una clau derivada del mateix enllaç. Hi ha dues advertències que volem dir clarament: els secrets creats abans d'aquesta data encara es desen com a text sense xifrar i continuen funcionant igual fins que caduquen, i el nom, la mida i el tipus d'un fitxer encara es desen sense xifrar, encara que el contingut sí que està xifrat."
        }
      },
      {
        "@type": "Question",
        "name": "El personal de LinkPilot pot llegir els meus secrets?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "No, si el secret s'ha xifrat al vostre navegador: la clau de desxifratge no se'ns envia mai, de manera que un operador amb accés complet a la base de dades només veu text xifrat. El mateix val per a qualsevol persona que comprometi la nostra base de dades o el nostre servidor perimetral. Hi ha tres límits que cal dir amb franquesa: un secret creat abans del 29 de setembre de 2026 es desa com a text sense xifrar i un operador el podria llegir mentre encara és actiu; encara podem veure el nom, la mida i el tipus d'un fitxer, tot i que no en podem llegir el contingut; i qualsevol persona que obtingui l'enllaç complet, inclosa la part que va després del #, pot obrir el secret. Per això continuen sent importants una caducitat curta i la destrucció després de la lectura."
        }
      },
      {
        "@type": "Question",
        "name": "Si Slack o el correu mostren una previsualització de l'enllaç, el secret es destrueix?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "No. Les previsualitzacions d'enllaços fan peticions GET, que només tornen metadades (l'estat i si cal frase de contrasenya). Una visualització només es registra amb una petició POST explícita, que és el que fa el destinatari quan fa clic al botó Mostra."
        }
      },
      {
        "@type": "Question",
        "name": "Quina informació registreu de cada visualització?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "De cada visualització registrem: la data i hora, el hash de l'IP (SHA-256 amb una sal que es renova cada dia, truncat a 32 caràcters), el país i la ciutat segons el servidor perimetral si estan disponibles, i la cadena User-Agent. No registrem el contingut del secret, la frase de contrasenya original ni l'adreça IP original."
        }
      },
      {
        "@type": "Question",
        "name": "Es fan servir els secrets per entrenar models o per a estadístiques?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "No. El contingut dels secrets queda exclòs de les estadístiques, de l'elaboració de perfils i de qualsevol funció d'IA. El circuit dels enllaços secrets està separat del circuit d'estadístiques dels enllaços curts."
        }
      },
      {
        "@type": "Question",
        "name": "Puc veure qui ha obert un secret?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Qui, no. Amb el pla Pro, la cronologia mostra quan s'ha vist el secret cada vegada, el país i la ciutat que indica el servidor perimetral, la cadena User-Agent del navegador i un hash de l'adreça de xarxa amb una sal diària. N'hi ha prou per confirmar el lliurament o detectar una obertura des d'un lloc inesperat, i està pensat perquè no es pugui convertir en una identitat."
        }
      },
      {
        "@type": "Question",
        "name": "Puc allotjar LinkPilot al meu servidor?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "No. LinkPilot és un servei allotjat. El client de xifratge es publica al repositori de la CLI, amb llicència MIT i vectors de prova perquè es pugui auditar, però el servei en si no és de codi obert. Si necessiteu autoallotjament, les opcions habituals són OneTimeSecret, Password Pusher, PrivateBin i Yopass."
        }
      },
      {
        "@type": "Question",
        "name": "Què passa si algú intenta endevinar la frase de contrasenya per força bruta?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Els intents de frase de contrasenya estan limitats a 5 per IP, per minut i per secret, en dues capes (en memòria i a la base de dades). Els intents fallits s'escriuen al registre d'auditoria amb un hash de l'IP."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [
      {
        "@type": "ListItem",
        "position": 1,
        "name": "Inici",
        "item": "https://uselinkpilot.com/ca"
      },
      {
        "@type": "ListItem",
        "position": 2,
        "name": "Arquitectura de seguretat",
        "item": "https://uselinkpilot.com/ca/security-architecture"
      }
    ]
  },
  {
    "@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"
    }
  }
]
```