So funktionieren Secret-Links bei LinkPilot.
Eine verständliche Referenz dazu, wie wir vertrauliche Inhalte speichern, anzeigen und löschen, und was wir bewusst nicht damit tun.
Secret-Links sind von Grund auf privat. LinkPilot trennt das Teilen vertraulicher Informationen von den Statistiken für Marketing-Links. Inhalte von Geheimnissen fließen nie in Statistiken oder Profilbildung ein.
Sie haben eine Sicherheitslücke oder einen missbräuchlichen Link gefunden? Melden Sie es hier. Meldungen gehen direkt an das Team.
1. Überblick
LinkPilot betreibt auf derselben Plattform zwei getrennte Pipelines für Links: intelligente Links für Kurzlinks mit eigener Domain und Klickstatistiken, und Secret-Links für die einmalige, befristete und per Passphrase geschützte Übergabe sensibler Inhalte. Beide sind auf Ebene der Daten, des Codes und des Produkts voneinander getrennt. So können vertrauliche Inhalte nie in Statistik-Dashboards, Datenexporte oder KI-Funktionen gelangen.
Diese Seite beschreibt nur die Pipeline der Secret-Links: wie ein Geheimnis erstellt und angezeigt wird, was nach dem Öffnen passiert und welche Metadaten dabei protokolliert werden.
2. So funktionieren Secret-Links
- Der Absender erstellt ein Geheimnis, auf Wunsch mit Passphrase, Ablaufzeit und einer Höchstzahl an Aufrufen, nach der es gelöscht wird.
- Der Browser des Absenders verschlüsselt den Inhalt, bevor irgendetwas gesendet wird. Bei uns kommt nur Geheimtext an. Wir schreiben ihn in eine eigene Tabelle
secret_links, getrennt von den Tabellen der Klickstatistiken. - LinkPilot gibt einen Kurzlink zurück (z. B.
shrd.link/s/<slug>#k=<key>), den Sie an den Empfänger weitergeben. Der Teil des Links nach dem#ist der Schlüssel zum Entschlüsseln. Er entsteht im Browser des Absenders und wird nie an uns übertragen. Wir können diesen Link später nicht erneut erzeugen. - Wenn der Empfänger den Link öffnet, ruft die App die Edge-Funktion
secret-revealauf. EinGETliefert nur Metadaten (Status und ob eine Passphrase nötig ist). Erst einPOSTmit der Passphrase liefert den Geheimtext. Der Browser des Empfängers entschlüsselt ihn dann mit dem Schlüssel aus dem Teil des Links nach dem #. Die Funktion selbst entschlüsselt nie etwas und könnte es auch gar nicht. - Ein erfolgreicher Abruf wird atomar erfasst. Je nach eingestellter Höchstzahl an Aufrufen setzt er das Geheimnis sofort auf
burned.
3. Verschlüsselungsmodell
Hier wollen wir genau sein, denn Begriffe wie „verschlüsselt“ und „Zero-Knowledge“ werden oft sehr locker verwendet.
- Bei der Übertragung: Der gesamte Datenverkehr zwischen Empfänger, unserer Edge und unserer verwalteten Datenbank ist durchgehend per TLS verschlüsselt.
- In Ihrem Browser, vor der Übertragung: Seit dem 29. September 2026 wird der Inhalt clientseitig mit AES-GCM-256 verschlüsselt, mit einem 256-Bit-Schlüssel, den Ihr Browser erzeugt. Wir speichern den Geheimtext und sonst nichts. Der Schlüssel steht im Teil des Links nach dem
#, und diesen Teil senden Browser an keinen Server: weder an uns noch an Cloudflare, das die Seite zum Öffnen ausliefert. - Im Ruhezustand: Der Geheimtext liegt in einer Spalte, die logisch von den Statistikdaten getrennt ist, auf einer verwalteten Postgres-Instanz, deren Datenträger zusätzlich verschlüsselt sind.
- Passphrasen: Wenn Sie eine festlegen, wird sie in eine Unicode-Standardform (NFKC) gebracht. Dieselbe Passphrase ergibt so denselben Schlüssel, auch wenn sie auf einer anderen Tastatur oder mit einer anderen Eingabemethode getippt wird. Danach wird sie mit PBKDF2-SHA256 gestreckt (210.000 Iterationen) und über HKDF-SHA256 mit dem Schlüssel aus dem Link kombiniert. Weder der Link allein noch die Passphrase allein entschlüsselt also das Geheimnis. Zusätzlich wird ein SHA-256-Hash der Passphrase gesendet, damit der Server den Geheimtext gar nicht erst an jemanden ausliefert, der die Passphrase nicht kennt. Die Passphrase im Klartext landet nie in unserer Datenbank oder in unseren Logs.
- Was das schützt und was nicht: Sie müssen weder uns noch unserer Datenbank oder unserer Edge vertrauen. Ein Geheimnis ist aber nicht geschützt, wenn der vollständige Link weitergeleitet, per Screenshot festgehalten oder auf der Seite des Empfängers irgendwo protokolliert wurde. Denn dieser Link enthält den Schlüssel.
- Die zwei Ausnahmen, klar benannt: Geheimnisse, die vor dem 29. September 2026 erstellt wurden, liegen im Klartext vor. Sie werden nie still umgeschrieben, funktionieren weiter wie bisher und verschwinden, sobald sie ablaufen. Dateianhänge werden ebenfalls im Browser verschlüsselt, mit einem Schlüssel, der vom Schlüssel des Geheimnisses abgeleitet ist. Ein Link öffnet also beides, und wir haben für keins von beiden einen Schlüssel. Sehen können wir weiterhin Name, Größe und Typ einer Datei: Das sind Metadaten-Spalten, keine Inhalte. Anhänge, die vor dem 29. September 2026 hochgeladen wurden, bleiben als unverschlüsselte Dateien gespeichert.
Die praktische Folge sollte man deutlich aussprechen: Weil wir den Schlüssel nie haben, können wir kein Geheimnis für Sie wiederherstellen. Geht der Link verloren, ist der Inhalt weg.
Prüfen Sie es selbst. Die Verschlüsselung im Browser müssen Sie uns nicht einfach glauben. Derselbe Verschlüsselungscode steckt in unserem quelloffenen Repository linkpilot-cli (MIT-Lizenz), das die CLI, das TypeScript-SDK und den MCP-Server enthält. Im Repository liegen auch die Testvektoren, gegen die die Web-App geprüft wird. Sie können also die Schlüsselableitung lesen, die Vektoren ausführen und nachprüfen, dass einen Client nur Geheimtext verlässt und der Schlüssel nur im Teil des Links nach dem # steht. Wenn Sie eine Abweichung zwischen diesem Code und dieser Seite finden, melden Sie sie.
4. Was nach dem Öffnen eines Geheimnisses passiert
- Der Abruf wird atomar über eine Datenbankfunktion erfasst. Gleichzeitige Versuche, das Geheimnis zu öffnen, können es nicht zweimal preisgeben.
- Ist die Höchstzahl an Aufrufen erreicht, wechselt der Status des Geheimnisses auf
burned, und der gespeicherte Inhalt wird mit[REDACTED]überschrieben. - Spätere Versuche, es zu öffnen, erhalten eine eindeutige Antwort „bereits angesehen und gelöscht“ mit HTTP 410.
- Der Audit-Verlauf erfasst jedes Öffnen, Löschen und Widerrufen mit einer gehashten IP. Das hilft bei der Reaktion auf Vorfälle und beim Erneuern von Zugangsdaten.
5. Ablauf und Widerruf
- Jedes Geheimnis kann eine zeitliche Frist haben, in jedem Tarif 1 Stunde, 24 Stunden oder 7 Tage, mit Pro auch ein frei gewähltes Datum mit Uhrzeit. Dazu kommt auf Wunsch eine Höchstzahl an Aufrufen.
- Abgelaufene Geheimnisse werden beim nächsten Zugriff auf
expiredgesetzt, und im selben Schreibvorgang wird der Inhalt geschwärzt. - Der Eigentümer kann ein Geheimnis jederzeit im Dashboard widerrufen. Widerrufene Geheimnisse lassen sich sofort nicht mehr öffnen und liefern HTTP 410.
- Ist ein Geheimnis gelöscht, abgelaufen oder widerrufen, lässt sich der Inhalt über das Produkt nicht wiederherstellen. Eine Aktion „Widerruf aufheben“ oder „Wiederherstellen“ gibt es bewusst nicht.
6. Schutz per Passphrase
- Passphrasen sind optional. Wir empfehlen sie für jedes Geheimnis, das kein zufälliger Besucher aufbrauchen soll.
- Der Browser bildet einen SHA-256-Hash der Passphrase und sendet ihn über TLS. Der Server vergleicht nur den Hash. Der eigentliche Wert erreicht unsere Datenbank nie.
- Wir begrenzen die Versuche auf 5 pro IP, pro Minute und pro Geheimnis. Dafür sorgen ein Limiter im Arbeitsspeicher und ein gleitendes Zeitfenster in der Datenbank.
- Jeder fehlgeschlagene Versuch landet mit einer gehashten IP im Audit-Log, damit Workspace-Eigentümer verdächtige Aktivität sehen.
- Schicken Sie die Passphrase über einen anderen Kanal als den Link, zum Beispiel den Link per E-Mail und die Passphrase per Slack-Direktnachricht oder SMS.
7. Schutz vor Link-Scannern und Vorschau-Bots
Sicherheitsscanner für E-Mails und die Link-Vorschauen von Chat-Apps (Slack, LinkedIn, iMessage, Outlook) rufen URLs ab, sobald sie auftauchen. Bei einem Link, der nach dem Lesen gelöscht wird, würde ein naiver Aufbau bedeuten: Schon die erste Vorschau löscht das Geheimnis, bevor der Empfänger es sieht.
LinkPilot verhindert das auf drei Arten:
- Getrennte Endpunkte für Metadaten und Inhalt. Ein
GETauf den Endpunkt liefert nur den Status und die Angabe, ob eine Passphrase nötig ist. Als Aufruf zählt erst ein ausdrücklichesPOST, also das, was ein Mensch auslöst, wenn er auf die Schaltfläche zum Anzeigen klickt. - Sperre per Passphrase. Ist eine Passphrase gesetzt, bekommt ohne den richtigen Hash niemand den Inhalt, weder ein Bot noch ein Mensch.
- Cache-Control: no-store bei jeder Antwort mit Inhalt, damit Zwischenstationen keine vertraulichen Inhalte zwischenspeichern.
8. Welche Metadaten wir protokollieren
Für jeden Versuch, ein Geheimnis zu öffnen, erfassen wir nur, was Workspace-Eigentümer für einen belastbaren Audit-Verlauf brauchen:
- Zeitpunkt des Versuchs.
- Gehashte IP: SHA-256 aus der IP des Clients und einem täglich wechselnden Salt, gekürzt auf 32 Zeichen. Die eigentliche IP speichern wir nie.
- Grober Standort (Land und Stadt) von der Edge, sofern der vorgelagerte Anbieter ihn liefert.
- User-Agent-String, den der Client meldet.
- Ereignistyp: created, viewed, failed_passphrase, burned, expired, revoked.
Wir protokollieren nicht: den Inhalt des Geheimnisses, die Passphrase im Klartext, die eigentliche IP-Adresse, Cookies beim Empfänger (es gibt keine) oder Tracking-Pixel von Dritten.
9. Unterschied zwischen Secret-Links und Links mit Statistiken
| Merkmal | Intelligente Links (Statistiken) | Secret-Links |
|---|---|---|
| Zweck | Kurzlinks mit eigener Domain und Klick-Tracking | Einmalige, befristete und sichere Übergabe |
| Speicherung | Links + Klick-Ereignisse | Geheimtext in einer eigenen Tabelle secret_links, beim Löschen geschwärzt |
| Daten pro Klick | Gehashte IP, Referrer, User-Agent, Standort, UTM | Gehashte IP, User-Agent, Standort, Ereignistyp, kein Inhalt |
| Nutzung für Statistiken und KI | Ja (aggregiert, gehasht) | Nie, vollständig ausgeschlossen |
| Lebensdauer | Bleibt, bis Sie ihn löschen | Wird gelöscht, läuft ab oder wird widerrufen; der Inhalt ist danach nicht wiederherstellbar |
| Bot-Vorschauen | Als Bot gezählt, aus den Statistiken gefiltert | GET liefert nur Metadaten, Bots können den Inhalt nicht öffnen |
Beide Pipelines teilen sich Marke, Dashboard und Team-Einstellungen. Die Datenflüsse kreuzen sich aber nicht.
10. Anhänge
- Dateien werden im Browser verschlüsselt, mit einem Schlüssel, der vom Schlüssel des Geheimnisses abgeleitet ist. Ein Link öffnet also Text und Datei.
- Wir liefern sie über kurzlebige, signierte URLs aus, hinter denselben Sperren wie den Text: Passphrase, Ablauf und Löschen nach dem Lesen.
- Name, Größe und Typ einer Datei sehen wir als Metadaten, ihren Inhalt nicht.
- Anhänge, die vor dem 29. September 2026 hochgeladen wurden, bleiben bis zu ihrem Ablauf als unverschlüsselte Dateien gespeichert. Sie werden nie umgeschrieben.
11. Aufbewahrung
- Der Inhalt eines Geheimnisses wird überschrieben, sobald es gelöscht wird, abläuft oder widerrufen wird. Eine Wiederherstellung gibt es bewusst nicht, und wir können den Inhalt auch nicht für Sie zurückholen.
- Kontodaten bewahren wir auf, solange der Workspace aktiv ist, und noch 30 Tage nach der Löschung, damit sich ein versehentliches Löschen rückgängig machen lässt.
- Klickstatistiken zu Kurzlinks werden nach 90 Tagen zu anonymisierten Zählwerten zusammengefasst.
- Ereignisse im Audit-Verlauf enthalten nur die gehashten, gesalzenen Werte aus Abschnitt 8. Eine eigentliche Adresse, die aufbewahrt werden könnte, gibt es nicht.
12. Anonyme Geheimnisse und Workspace-Geheimnisse
Der kostenlose Secret-Link-Generator erstellt Geheimnisse ohne Konto. Löschen nach dem Lesen ist immer aktiv, der Ablauf beträgt 1 Stunde, 24 Stunden oder 7 Tage, Turnstile schützt das Formular vor automatisiertem Missbrauch, und es gilt dieselbe Verschlüsselung im Browser.
Ein Workspace-Geheimnis bietet zusätzlich den Audit-Verlauf, den Widerruf im Dashboard, Dateianhänge und mit Pro auch Passphrasen und ein frei gewähltes Ablaufdatum mit Uhrzeit. Das Verschlüsselungsmodell ist in beiden Fällen dasselbe.
13. Grenzen, klar benannt
- Ein weitergeleiteter Link ist ein weitergeleitetes Geheimnis. Nichts im Aufbau kann verhindern, dass ein Empfänger den Link weitergibt, bevor er ihn öffnet. Dagegen helfen ein kurzer Ablauf und eine Passphrase, die über einen zweiten Kanal kommt.
- Ein verlorener Link ist ein verlorenes Geheimnis. Wir haben den Schlüssel nie, also gibt es nichts wiederherzustellen.
- Die Ausnahme vor dem 29. September. Geheimnisse, die vor diesem Datum erstellt wurden, lagen bis zu ihrem Ablauf im Klartext vor.
- Nicht quelloffen, nicht selbst hostbar. Der Verschlüsselungs-Client ist mit Testvektoren im CLI-Repository unter MIT-Lizenz veröffentlicht. Der Dienst selbst ist ein gehostetes Produkt. Wenn Sie Self-Hosting brauchen, sehen Sie sich die Open-Source-Alternativen an.
- Ein Aufruf ist keine Person. Der Verlauf erfasst, wann und ungefähr von wo ein Geheimnis geöffnet wurde, nie von wem. Hat es die falsche Person geöffnet, erneuern Sie die Zugangsdaten.
14. Sicherheitslücke melden
Sicherheitsfunde und missbräuchliche Links können Sie unter /report melden, sie gehen direkt an das Team. Anfragen zu Datenschutz und Daten richten Sie an privacy@uselinkpilot.com. Wir beantworten sie innerhalb von 30 Tagen. Die DSGVO-Seite listet auf, was wir verarbeiten und auf welcher Grundlage.
15. Häufige Fragen
Ist das Geheimnis Ende-zu-Ende-verschlüsselt?
Ja, für Geheimnisse ab dem 29. September 2026. Ihr Browser verschlüsselt den Inhalt mit AES-GCM-256, bevor er gesendet wird. Der Schlüssel steht im Teil des Links nach dem #, einem URL-Fragment, das Browser nie übertragen. Wir erhalten nur Geheimtext und nie den Schlüssel, deshalb können wir das Geheimnis nicht lesen. Angehängte Dateien werden genauso verschlüsselt, mit einem Schlüssel, der aus demselben Link abgeleitet ist. Zwei Einschränkungen nennen wir ausdrücklich: Geheimnisse von vor diesem Datum liegen weiterhin im Klartext vor und funktionieren unverändert, bis sie ablaufen. Und Name, Größe und Typ einer Datei speichern wir weiterhin unverschlüsselt, auch wenn ihr Inhalt verschlüsselt ist.
Können Mitarbeitende von LinkPilot meine Geheimnisse lesen?
Nicht bei einem Geheimnis, das in Ihrem Browser verschlüsselt wurde: Der Schlüssel zum Entschlüsseln wird nie an uns gesendet. Selbst wer vollen Zugriff auf die Datenbank hat, sieht nur Geheimtext. Das gilt auch für jeden, der in unsere Datenbank oder unsere Edge eindringt. Drei ehrliche Grenzen: Ein Geheimnis, das vor dem 29. September 2026 erstellt wurde, liegt im Klartext vor, und solange es aktiv ist, könnte ein Betreiber es lesen. Name, Größe und Typ einer Datei sehen wir weiterhin, ihren Inhalt nicht. Und wer den vollständigen Link samt dem Teil nach dem # bekommt, kann das Geheimnis öffnen. Deshalb sind ein kurzer Ablauf und Löschen nach dem Lesen weiterhin wichtig.
Löscht eine Link-Vorschau in Slack oder in einer E-Mail das Geheimnis?
Nein. Link-Vorschauen senden GET-Anfragen, und die liefern nur Metadaten (Status und ob eine Passphrase nötig ist). Als Aufruf zählt erst ein ausdrückliches POST, also das, was der Empfänger auslöst, wenn er auf die Schaltfläche zum Anzeigen klickt.
Welche Angaben protokollieren Sie zu einem Aufruf?
Pro Aufruf erfassen wir: Zeitpunkt, gehashte IP (SHA-256 mit täglich wechselndem Salt, gekürzt auf 32 Zeichen), Land und Stadt von der Edge, sofern verfügbar, sowie den User-Agent-String. Den Inhalt des Geheimnisses, die Passphrase im Klartext und die eigentliche IP-Adresse protokollieren wir nicht.
Werden Geheimnisse jemals zum Trainieren von Modellen oder für Statistiken genutzt?
Nein. Inhalte von Geheimnissen sind von Statistiken, Profilbildung und allen KI-Funktionen ausgeschlossen. Die Pipeline der Secret-Links ist von der Statistik-Pipeline der intelligenten Links getrennt.
Kann ich sehen, wer ein Geheimnis geöffnet hat?
Nicht, wer. Mit Pro zeigt der Verlauf, wann es jeweils geöffnet wurde, Land und Stadt laut Edge, den User-Agent-String des Browsers und einen täglich gesalzenen Hash der Netzwerkadresse. Das reicht, um die Zustellung zu bestätigen oder ein Öffnen vom falschen Ort zu erkennen. Und es ist so gebaut, dass sich daraus keine Identität ableiten lässt.
Kann ich LinkPilot selbst hosten?
Nein. LinkPilot ist ein gehosteter Dienst. Der Verschlüsselungs-Client ist im CLI-Repository unter MIT-Lizenz mit Testvektoren veröffentlicht, damit er sich prüfen lässt. Der Dienst selbst ist aber nicht quelloffen. Wenn Sie Self-Hosting brauchen, sind OneTimeSecret, Password Pusher, PrivateBin und Yopass die üblichen Optionen.
Was passiert, wenn jemand die Passphrase per Brute Force erraten will?
Versuche mit der Passphrase sind auf 5 pro IP, pro Minute und pro Geheimnis begrenzt, auf zwei Ebenen (Arbeitsspeicher und Datenbank). Fehlgeschlagene Versuche landen mit einer gehashten IP im Audit-Log.