---
title: "Vanhenevat linkit: salaisuus tuhotaan määräajan päättyessä"
url: https://uselinkpilot.com/fi/blog/expiring-links-security
description: "Vanheneva salainen linkki tuhoaa salaisuuden määräajan päättyessä, kuollut lyhytlinkki vain lakkaa ohjaamasta. Ajan valinta ja erikoistapaukset."
lang: fi
---

Tietoturva (https://uselinkpilot.com/fi/blog/category/security)

# Vanhenevat linkit: salaisuus tuhotaan, eikä vain uudelleenohjaus katkea

Vanheneva salainen linkki tuhoaa salaisuuden määräajan päättyessä, kuollut lyhytlinkki vain lakkaa ohjaamasta. Ajan valinta ja erikoistapaukset.

W. Miller (https://uselinkpilot.com/fi/author/w-miller)26. toukokuuta 2026 · Päivitetty 22. lokakuuta 2026 · Tietoa LinkPilotista (https://uselinkpilot.com/fi/about)

Vanheneva salainen linkki tuhoaa salaisuuden määräajan päättyessä: LinkPilotissa tallennettu salateksti ylikirjoitetaan, joten avattavaa ei jää mitään. Lyhytlinkkipalvelu, joka alkaa palauttaa vastauksen 410 Gone (https://www.rfc-editor.org/rfc/rfc9110#section-15.5.11), on vain lopettanut uudelleenohjauksen. Jokaisella salaisuutta kantavalla linkillä pitäisi olla voimassaoloaika, koska ilman sitä ”kertakäyttöisyyden” lupaus heikkenee huomaamatta jokaisena päivänä, jonka linkki odottaa avaamattomana. Tässä kirjoituksessa käydään läpi, mitä voimassaoloaika todella suojaa, miten valitset ajan, jonka pystyt perustelemaan, mitkä erikoistapaukset aiheuttavat ongelmia käytännössä ja milloin vanhenevat linkit ovat kokonaan väärä työkalu. Jos haluat ensin nähdä, miten se toimii, ilmainen kertakäyttöisen salaisen linkin luontityökalu (https://uselinkpilot.com/fi/tools/free-secret-link-generator) asettaa voimassaoloajan jokaiselle luomalleen salaisuudelle.

## Mitä voimassaoloaika todella suojaa?

Voimassaoloaika rajaa ajan, jonka kuluessa tieto voi vuotaa. Linkki, joka toimi viisi minuuttia, on hyökkääjälle paljon vähemmän arvoinen kuin viikon toiminut linkki, vaikka molemmat olisivat ”kertakäyttöisiä”.

Mieti, mihin salaisuutta kantava URL-osoite päätyy, kun painat lähetä-painiketta: vastaanottajan saapuneet-kansioon, hänen sähköpostipalvelunsa tallennustilaan, ehkä eteenpäin välitettyyn kopioon, puhelimeen synkronoituun chat-historiaan ja selaimen historiaan. Mihinkään näistä kopioista et voi vaikuttaa. _Voit_ kuitenkin päättää, kuinka kauan mikään niistä on avattavissa. Tunnin voimassaoloaika tarkoittaa, että jokainen osoitteen hajakopio muuttuu arvottomaksi kuusikymmentä minuuttia luomisen jälkeen, minne se sitten päätyikin.

Voimassaoloaika kattaa myös todellisen inhimillisen virheen, johon lukemisen jälkeen tuhoutuminen ei auta: **vastaanottaja ei koskaan avaa linkkiä.** Tuhoa lukemisen jälkeen -asetus laukeaa vasta, kun linkki luetaan. Avaamaton linkki, jolla ei ole voimassaoloaikaa, jää postilaatikkoon toistaiseksi: yhä käytössä, haettavissa ja yhden edelleenlähetyksen päässä väärästä henkilöstä.

## Voimassaoloaika ja lukemisen jälkeen tuhoutuminen kattavat eri virheet

Nämä kaksi asetusta sekoitetaan jatkuvasti. Ne ovat toisistaan riippumattomia, ja vahvin kokoonpano käyttää molempia:

| Virhetilanne | Estääkö lukemisen jälkeen tuhoutuminen? | Estääkö voimassaoloaika? |
| --- | --- | --- |
| Vastaanottaja lukee sisällön, ja linkki jää sen jälkeen postilaatikkoon | Kyllä: linkki on jo kuollut | Kyllä, aikanaan |
| Vastaanottaja ei koskaan avaa linkkiä | Ei: linkki pysyy käytössä ikuisesti | Kyllä |
| Väärä henkilö avaa linkin ensin | Osittain: sisältö tuhoutuu, ja kirjausketju näyttää sen | Ei |
| URL-osoite vuotaa viikkoja myöhemmin sähköpostin vientitiedostosta | Vain jos linkki on luettu | Kyllä: linkki on ollut kuollut jo pitkään |

Huomaa ”väärä henkilö” -rivi: kumpikaan asetus ei _estä_ tätä lukemista. Siihen tarvitaan salalause, joka toimitetaan eri kanavaa pitkin. Voimassaoloaika rajaa ajan, tuhoutuminen lukukerrat ja salalause sen, _kuka_ voi avata linkin. Kolme erillistä säädintä.

## Kuinka kauan salaisen linkin pitäisi olla voimassa?

Odotetun luovutuksen ajan ja yhden kohtuullisen viiveen verran, ei pidempään. Käytännön nyrkkisääntö tilanteittain:

| Tilanne | Voimassaoloaika | Miksi |
| --- | --- | --- |
| Luovutus reaaliajassa (chat, puhelu, näytön jakaminen) | 1 tunti (lyhin valmisasetus) | Vastaanottaja on paikalla, ja lukemisen jälkeen tuhoutuminen sulkee linkin heti, kun hän lukee sisällön |
| Sähköposti tutulle, aktiiviselle vastaanottajalle | 1 tunti | Kattaa postilaatikon viiveen jättämättä linkkiä auki yön yli |
| Ajastettu luovutus (perehdytys huomenna klo 10) | 24 tuntia | Kestää aikataulun venymisen, mutta on silti kuollut seuraavana päivänä |
| Vastaanottaja kaukaisella aikavyöhykkeellä | 24–48 tuntia | Hänen työpäivänsä ei välttämättä osu lainkaan päällekkäin sinun työpäiväsi kanssa |
| Kaikki, mikä vaatii > 7 päivää | Pysähdy | Linkki on väärä perusratkaisu: käytä holvia |

Taulukon periaate: aseta ajaksi _odotettu luovutusaika ja yksi kohtuullinen viive_, ei ”niin pitkä, ettei minun tarvitse enää ajatella asiaa”. Mukavuuden mukaan valitut voimassaoloajat lähestyvät äärettömyyttä.

## Ajastettu luovutus vaihe vaiheelta

Uusi kehittäjä aloittaa huomenna klo 10:00. Sinun pitää antaa hänelle tuotantotietokannan lukuoikeuden salasana.

1. **09:55** Luo salainen linkki LinkPilot-tililtäsi niin, että Tuhoa lukemisen jälkeen -asetus on päällä, linkissä on salalause ja mukautettu voimassaoloaika päättyy klo 11:00. Kellonaikaan sidottu voimassaoloaika ja salalause ovat molemmat Pro-ominaisuuksia. Kirjautuneena valmisasetukset ovat 1 tunti, 24 tuntia tai 7 päivää, ja ilman tiliä käytettävä työkalu asettaa 7 päivää.
2. **09:56** Lähetä linkki sähköpostilla.
3. **09:58** Lähetä salalause tekstiviestillä tai Slackin yksityisviestinä eli eri kanavaa pitkin kuin linkki, jotta yhden kanavan vuoto ei riitä.
4. **10:05** Vastaanottaja avaa linkin, syöttää salalauseen ja lukee salasanan kerran. Linkki tuhoutuu.
5. **10:30** Tarkista tarkastusloki eli loki linkin tapahtumista. Yksi avaus, oikea aika ja uskottava sijainti. Valmista.
6. **Jos linkkiä ei ole avattu klo 10:30 mennessä**, mitätöi se, ota yhteyttä vastaanottajaan ja jaa salasana uudelleen hänen ollessaan paikalla. Älä vain odota vanhenemista: avaamaton, käytössä oleva linkki on avoin ikkuna.

Aika on niin lyhyt, että vuotanut sähköposti on arvoton tuntia myöhemmin. Salalause suojaa, jos linkki siepataan tuon tunnin aikana. Tuhoutuminen estää uudelleenlukemisen. Kukin asetus pysäyttää sen, minkä muut päästävät läpi.

## Erikoistapauksia, jotka kannattaa tuntea

### Sähköpostin skannerit eivät kuluta aikaa eivätkä salaisuutta

Yritysten sähköpostin tietoturvatyökalut hakevat URL-osoitteet heti, kun viesti saapuu. Hyvin tehty salainen linkki käsittelee nämä haut metatietopyyntöinä: LinkPilotin näyttämisen päätepiste palauttaa `GET`-pyyntöön vain tilan, ja avaus kirjataan vain nimenomaisesta `POST`-näyttöpyynnöstä. Klo 09:56 linkkiin osuva skanneri ei siis tuhoa sitä eikä saa siitä mitään hyödyllistä tietoa. Skannereita _ei_ kuitenkaan voi estää näkemästä, että URL-osoite on lähetetty. Sekin on syy lähettää salalause eri kanavaa pitkin.

### Vastaanottaja minuutilla 59

Voimassaoloaika tarkistetaan näyttämishetkellä, ei taustalla ajettavalla siivouksella, jonka toivoisit ehtineen käydä. LinkPilotissa vanhentunut salaisuus saa tilan `expired` seuraavalla käyttökerralla, ja sisältö ylikirjoitetaan samassa kirjoitusoperaatiossa. Näyttäminen, joka alkaa ennen määräaikaa ja päättyy sen jälkeen, ratkeaa selvästi jompaankumpaan suuntaan. Puoliksi vanhentunutta tilaa ei ole.

### Aikavyöhykelaskut

”Vanhenee 24 tunnin kuluttua” on yksiselitteinen, ”vanhenee huomenna illalla” ei ole. Aseta voimassaoloaika kestona tästä hetkestä, ja kun kerrot vastaanottajalle, ilmoita määräaika _hänen_ aikavyöhykkeessään. Yllättävän moni valitus siitä, että linkki oli kuollut avattaessa, johtuu aikavyöhykkeiden laskuvirheestä.

## Vaatimustenmukaisuus

Voimassaoloaika on myös käytännön toteutus kahdelle periaatteelle, jotka löytyvät useimmista nykyisistä tietosuojasäädöksistä: tietojen minimointi ja säilytyksen rajoittaminen (EU:n yleisen tietosuoja-asetuksen (https://eur-lex.europa.eu/eli/reg/2016/679/oj) 5 artiklan 1 kohdan c alakohta ja 5 artiklan 1 kohdan e alakohta). Jos henkilötietoja on pakko välittää, esimerkiksi henkilöllisyystodistus, asiakastietue tai henkilöön sidottu kirjautumistieto, linkki, joka todistettavasti lakkaa olemasta rajatun ajan jälkeen, on auditoijalle paljon helpompi selittää kuin ”se on jossain sähköpostijärjestelmässä”. Kirjausketju, joka näyttää jokaisen jaon luonti-, avaus- ja vanhenemistapahtumat, tekee säilytystä koskevasta väitteestäsi näytön pelkän vakuuttelun sijaan. Mikään tästä ei tee työkalusta itsestään GDPR:n mukaista, sillä vaatimustenmukaisuus on koko prosessisi ominaisuus, mutta rajattu elinikä ja tapahtumalokit ovat sen raaka-ainetta.

## Missä voimassaoloajasta ei ole apua

Voimassaoloaika ei korvaa seuraavia:

- **Vaihtaminen.** Jos itse salaisuus on vaarantunut, _linkin_ voimassaoloaika ei mitätöi _kirjautumistietoa_. Vaihda se lähdejärjestelmässä. Voimassaoloaika rajaa, kuinka kauan toimitusväline on käyttökelpoinen, mutta ei kerro mitään sisällöstä toimituksen jälkeen.
- **Salalausesuojaus.** Voimassaoloaika rajaa ajan, salalause pääsyn. Ne ovat toisistaan riippumattomia, ja ne on helppo yhdistää.
- **Tarkastusloki.** Voimassaoloaika ei kerro mitään siitä, kuka näki salaisuuden tai milloin. Siihen tarvitaan linkkikohtaiset tarkastustapahtumat. LinkPilot kirjaa seuraavat tapahtumat aikaleimoineen ja IP-osoitteen tiivisteineen: luonti, avaus, väärä salalause, tuhoutuminen, vanheneminen ja mitätöinti.

## ”Pidennän sitä” -virhemalli

Houkuttelevaa ja lähes aina väärin. Vastaanottaja on hyväksynyt tietyn ajan. Pidentäminen hänen tietämättään rikkoo luottamusmallin: hän oletti linkin kuolleen ja on ehkä käsitellyt salaisuutta sen mukaan tai lakannut vartioimasta postilaatikkoa, jossa linkki on.

Siisti tapa: mitätöi vanha linkki, luo uusi uudella voimassaoloajalla ja kerro siitä vastaanottajalle. Kirjausketju pysyy totuudenmukaisena: yksi linkki, yksi aikaikkuna ja yksi lopputulos jakoa kohden. Siksi LinkPilotissa voit _lyhentää_ käytössä olevan linkin voimassaoloaikaa tai mitätöidä sen heti, mutta pidennyspainiketta ei tarkoituksella ole.

## Milloin vanhenevat linkit ovat väärä työkalu

Rehellinen luettelo rajoista:

- **Toistuva käyttö.** Jos joku tarvitsee tiedon myös ensi viikolla, tallenna se salasanojen hallintaohjelmaan ja jaa holvin kohde. Linkkien lähettäminen uudelleen aikataulun mukaan on kuin holvi, jossa on enemmän vaiheita ja heikommat takuut.
- **Koneet tiedon käyttäjinä.** CI-putkien ja palvelujen pitäisi hakea tiedot salaisuuksien hallintapalvelusta (tai alustan omasta salaisuusvarastosta), ei kertakäyttöisistä URL-osoitteista.
- **Laaja jakelu.** Linkki, jota viisitoista ihmistä tarvitsee, ei ole salaisuuden luovutus. Se on käyttöoikeuksien hallintaa, ja se kuuluu järjestelmään, jossa sellainen on.

Vanhenevat linkit ovat parhaimmillaan täsmälleen yhdessä tehtävässä: arkaluonteisen tiedon siirtämisessä yhdeltä ihmiseltä toiselle kerran, niin että mahdollisen vahingon laajuus on rajattu.

## Lue myös

- Näin kertakäyttöiset salaiset linkit toimivat: https://uselinkpilot.com/fi/blog/how-one-time-secret-links-work
- Salasanan turvallinen jakaminen: 5 tapaa vertailussa: https://uselinkpilot.com/fi/secure-password-sharing
- Miksi URL-osoitteet vuotavat arkaluonteisia tietoja: https://uselinkpilot.com/fi/blog/why-urls-leak-sensitive-information
- Ilmainen salaisen linkin luontityökalu: https://uselinkpilot.com/fi/tools/free-secret-link-generator

## Lähteet

- IETF, RFC 9110: HTTP Semantics, section 15.5.11 410 Gone (https://www.rfc-editor.org/rfc/rfc9110#section-15.5.11).
- EUR-Lex, Regulation (EU) 2016/679 (GDPR), Article 5 (https://eur-lex.europa.eu/eli/reg/2016/679/oj).

## Työkalut tähän artikkeliin

Kertakäyttöisen salaisen linkin luontityökalu

Jaa salasana tai muistiinpano linkillä, joka avautuu vain kerran.
https://uselinkpilot.com/fi/tools/free-secret-link-generator

Itsetuhoutuva viesti

Lähetä muistiinpano, joka katoaa, kun se on luettu kerran.
https://uselinkpilot.com/fi/tools/burn-after-read-secret

Vanhenevan linkin luontityökalu

Luo linkkejä, jotka lakkaavat toimimasta asettamanasi aikana.
https://uselinkpilot.com/fi/tools/temporary-link

## Usein kysytyt kysymykset

### Eikö lukemisen jälkeen tuhoutuminen riitä?

### Mikä on järkevä oletusvoimassaoloaika?

### Voiko käytössä olevan linkin voimassaoloaikaa pidentää?

### Vuotaako vanhentunut linkki mitään?

### Mitä voimassaoloaikoja LinkPilot tukee?

## LinkPilot lähettää salaisen linkin, joka katoaa, kun se on avattu.

Salataan selaimessasi, näytetään kerran ja tuhotaan sitten. Tiliä ei tarvita.

Luo salainen linkki (https://uselinkpilot.com/fi/tools/free-secret-link-generator)

## Lue seuraavaksi

Tietoturva

### Selainpuolen salaus salaisuuksien jakamisessa: mitä se suojaa

Selainpuolen salaus suojaa salaisuuden ylläpitäjältä ja tietokantavuodolta, muulta ei: haitallinen JavaScript, laajennus tai vuotanut linkki kumoaa sen.
https://uselinkpilot.com/fi/blog/client-side-encryption-for-secret-sharing

Tietoturva

### Kirjautumistietojen kertajakaminen asiakkaan käyttöönotossa

Digitoimistoille ja IT-palveluyrityksille: lähetä ensimmäinen kirjautuminen kertakäyttölinkkinä, jaa luottamukselliset ohjeet samoin ja kirjaa luovutus.
https://uselinkpilot.com/fi/blog/one-time-credential-sharing-for-client-onboarding

Tietoturva

### Arkaluonteisen viestin jakaminen linkillä, jonka voi mitätöidä

Mitätöinti katkaisee pääsyn ennen vanhenemista. Miten mitätöitävä linkki eroaa vanhenevasta, miten se lähetetään, milloin se mitätöidään ja mitä se ei korjaa.
https://uselinkpilot.com/fi/blog/how-to-share-a-sensitive-message-with-a-link-that-can-be-revoked

## Structured data

```json
[
  {
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [
      {
        "@type": "ListItem",
        "position": 1,
        "name": "Etusivu",
        "item": "https://uselinkpilot.com/fi"
      },
      {
        "@type": "ListItem",
        "position": 2,
        "name": "Blogi",
        "item": "https://uselinkpilot.com/fi/blog"
      },
      {
        "@type": "ListItem",
        "position": 3,
        "name": "Vanhenevat linkit: salaisuus tuhotaan, ohjaus ei vain katkea",
        "item": "https://uselinkpilot.com/fi/blog/expiring-links-security"
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "BlogPosting",
    "@id": "https://uselinkpilot.com/fi/blog/expiring-links-security#article",
    "headline": "Vanhenevat linkit: salaisuus tuhotaan, ohjaus ei vain katkea",
    "description": "Vanheneva salainen linkki tuhoaa salaisuuden määräajan päättyessä, kuollut lyhytlinkki vain lakkaa ohjaamasta. Ajan valinta ja erikoistapaukset.",
    "inLanguage": "fi",
    "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/fi/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/fi/blog/expiring-links-security"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Eikö lukemisen jälkeen tuhoutuminen riitä?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Lukemisen jälkeen tuhoutuminen hoitaa lukemisen. Voimassaoloaika hoitaa tapauksen, jossa linkkiä ei koskaan lueta: linkit unohtuvat postilaatikoihin tai pitkiin Slack-ketjuihin, tai vastaanottaja ei vain välitä niistä. Käytä molempia, sillä ne kattavat eri virhetilanteet."
        }
      },
      {
        "@type": "Question",
        "name": "Mikä on järkevä oletusvoimassaoloaika?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Salasanojen ja tunnisteiden luovutuksessa 1 tunti on hyvä oletus. Ajastetuissa luovutuksissa, kuten huomisaamun perehdytyksessä, 24 tuntia. Jos tarvitset yli 7 päivää, mieti, onko linkki ylipäätään oikea perusratkaisu. Yleensä holvin kohde on."
        }
      },
      {
        "@type": "Question",
        "name": "Voiko käytössä olevan linkin voimassaoloaikaa pidentää?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Sitä ei pitäisi tehdä, eikä LinkPilot tarkoituksella tue sitä. Vastaanottaja luottaa alkuperäiseen aikaan, ja pidentäminen hänen tietämättään rikkoo tämän sopimuksen. Voit lyhentää aikaa tai mitätöidä linkin heti. Jos tarvitset lisää aikaa, mitätöi linkki ja lähetä uusi."
        }
      },
      {
        "@type": "Question",
        "name": "Vuotaako vanhentunut linkki mitään?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Hyvin tehdyssä työkalussa ei. LinkPilotissa vanhentunut salaisuus saa tilan ”expired” seuraavalla käyttökerralla, ja tallennettu sisältö ylikirjoitetaan samassa kirjoitusoperaatiossa. Avaaja näkee tilasivun, ei koskaan sisältöä."
        }
      },
      {
        "@type": "Question",
        "name": "Mitä voimassaoloaikoja LinkPilot tukee?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Kaikissa paketeissa kirjautuneena 1 tunti, 24 tuntia tai 7 päivää, ja Pro-paketissa mukautettu päivä ja kellonaika. Ilman tiliä käytettävän työkalun oletus on 7 päivää. Minkä tahansa ajan voi yhdistää lukemisen jälkeen tuhoutumiseen ja hallintapaneelista tehtävään manuaaliseen mitätöintiin."
        }
      }
    ],
    "inLanguage": "fi"
  },
  {
    "@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"
    }
  }
]
```