---
title: "שיתוף מאובטח בקישורים למפתחים | הבלוג של LinkPilot"
url: https://uselinkpilot.com/he/blog/secure-link-sharing-for-developers
description: "מדריך מעשי לצוותי פיתוח: מתי להשתמש בקישורים חד-פעמיים, איך ליצור אותם מסקריפט ואיך לשלב אותם בקליטת עובדים וב-CI."
lang: he
---

אבטחה (https://uselinkpilot.com/he/blog/category/security)

# שיתוף מאובטח בקישורים למפתחים

מדריך מעשי לצוותי פיתוח: מתי להשתמש בקישורים חד-פעמיים, איך ליצור אותם מסקריפט ואיך לשלב אותם בקליטת עובדים וב-CI.

W. Miller (https://uselinkpilot.com/he/author/w-miller)26 במאי 2026 · עודכן 22 באוקטובר 2026 · על LinkPilot (https://uselinkpilot.com/he/about)

אצל מהנדסים, שיתוף סודות מופיע בדרך כלל בשלושה מקומות: **קליטת עובדים**, **מסירה לספקים** ו**טיפול באירועי אבטחה**. כאן תמצאו את נקודת המבט של מפתחים: מתי להשתמש בקישור חד-פעמי, מתי לוותר עליו ואיך ליצור אותו מסקריפט בלי שהסוד ידלוף בדרך להיסטוריית ה-shell. כדי לנסות קודם את המנגנון, הכלי החינמי ליצירת קישור סודי חד-פעמי (https://uselinkpilot.com/he/tools/free-secret-link-generator) לא דורש חשבון.

## מתי מפתחים צריכים קישור חד-פעמי?

כשבצד אחד לפחות של המסירה יש אדם, והערך לא אמור להישאר בשום מקום אחריה. המקרים הנפוצים:

- קליטת מהנדס חדש עם פרטי ההתחברות הראשונים שלו.
- שיתוף סיסמת מנהל זמנית במהלך אירוע אבטחה.
- מסירת טוקן לספק או לקבלן, שלא אמור להישמר בכספת שלכם.
- החלפת פרטי התחברות, כשהערך הישן צריך להפסיק לעבוד מהר.
- שליחת מפתח ה-API שהקציתם ללקוח.

## מתי לא להשתמש בקישור חד-פעמי

- **סודות ממכונה למכונה.** משתני סביבה של CI (למשל GitHub Actions secrets (https://docs.github.com/en/actions/security-for-github-actions/security-guides/using-secrets-in-github-actions)), Kubernetes Secrets (https://kubernetes.io/docs/concepts/configuration/secret/) ופרטי התחברות דינמיים של Vault הם הכלי הנכון שם. הקישור מיועד למסירה של אדם אל תוך המערכות האלה.
- **פרטי התחברות של הצוות לטווח ארוך.** מקומם במנהל סיסמאות.
- **הגדרות ציבוריות.** אל תציגו הגדרות שאינן סודיות כסוד. השתמשו בקישור רגיל.

קו ההפרדה: אם בשני קצוות ההעברה יש מכונות, השתמשו במאגר הסודות של הפלטפורמה. אם בקצה אחד לפחות יש אדם, קישור חד-פעמי הוא בדרך כלל הכלי הפשוט והנקי ביותר.

| מצב | הכלי הנכון |
| --- | --- |
| פרטי ההתחברות הראשונים של מהנדס חדש | קישור סודי חד-פעמי |
| Pipeline של CI צריך טוקן פריסה בזמן ריצה | מאגר הסודות של ה-CI או משתני סביבה |
| Pod צריך סיסמה למסד נתונים | K8s secret או external secrets operator |
| פרטי כניסה של הצוות שחמישה אנשים משתמשים בהם כל יום | מנהל סיסמאות (כספת משותפת) |
| לקוח צריך את מפתח ה-API שהוקצה לו | קישור סודי חד-פעמי |
| סוד שנדרש בתוך מאגר git | אף פעם. הפנו למאגר סודות והוסיפו סריקה ל-CI |

## יצירה מסקריפט

ל-LinkPilot יש REST API (בכל התוכניות, כולל Free). כך נראית הנפקת סוד מסקריפט:

```bash
LP_KEY=lp_live_...

URL=$(curl -sS https://api.uselinkpilot.com/v1/secrets \
  -H "Authorization: Bearer $LP_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "payload": "'"$NEW_DB_PASSWORD"'",
    "expires_in": 3600,
    "burn_after_read": true,
    "passphrase": "'"$ONBOARDING_PASSPHRASE"'"
  }' | jq -r '.url')

echo "Secret link: $URL"
```

העבירו את ה-URL לכל ערוץ מסירה שאתם כבר משתמשים בו: הודעה פרטית ב-Slack, אימייל או ה-webhook של כלי קליטת העובדים.

### איך שומרים את התוכן מחוץ לרשימת התהליכים

בקטע הקוד שלמעלה יש פגם קלאסי: שילוב התוכן בתוך `-d` מכניס אותו לשורת הפקודה של curl, ושם כל משתמש מקומי יכול לקרוא אותו דרך `ps` בזמן שהבקשה רצה. במקום זה, בנו את ה-JSON בעזרת `jq` (https://jqlang.org/manual/) והעבירו אותו דרך stdin בעזרת `-d @-` של curl (https://curl.se/docs/manpage.html#-d):

```bash
set -euo pipefail

jq -n --arg payload "$NEW_DB_PASSWORD" \
      --arg pass "$ONBOARDING_PASSPHRASE" \
      '{payload: $payload, expires_in: 3600,
        burn_after_read: true, passphrase: $pass}' |
curl -sS https://api.uselinkpilot.com/v1/secrets \
  -H "Authorization: Bearer $LP_KEY" \
  -H "Content-Type: application/json" \
  -d @- | jq -r '.url'
```

שלושה הרגלים שכדאי שיהפכו לאוטומטיים:

- הערכים מגיעים ממשתני סביבה או מ-CLI של מנהל סודות, ולעולם לא מוקלדים ב-shell אינטראקטיבי שבו הם נשמרים בהיסטוריה.
- הסקריפט מדפיס את _הקישור_, לעולם לא את התוכן.
- `set -euo pipefail`, כדי שקריאת API שנכשלה לא תעביר בשקט URL ריק לשלב הבא.

## תבנית לקליטת עובדים

דפוס שעובד טוב למהנדסים חדשים ביום הראשון:

1. סקריפט הקליטה פותח חשבונות ושולף פרטי התחברות חד-פעמיים.
2. הסקריפט יוצר קישור סודי לכל פרט התחברות, עם תפוגה של 4 שעות וביטוי סיסמה משותף.
3. הסקריפט שולח אימייל עם כל הקישורים, ואת ביטוי הסיסמה בהודעה פרטית ב-Slack.
4. המהנדס פותח כל קישור ומעתיק את פרטי ההתחברות למנהל הסיסמאות שלו.
5. כל קישור שלא נקרא עד סוף היום מבוטל ומונפק מחדש בקצב של המהנדס.

למה דווקא הפרמטרים האלה: תפוגה של 4 שעות מכסה בוקר ראשון רגיל בלי להשאיר פרטי התחברות פעילים במשך הלילה. ביטוי הסיסמה עובר בערוץ שני, כך שאימייל שהועבר הלאה או הגיע לנמען הלא נכון לא מזיק. מחיקה לאחר קריאה פירושה שבסוף היום תיבת הדואר של המהנדס מכילה רק כתובות URL שכבר לא עובדות.

אמרו לעובד החדש במפורש: _"כל קישור עובד פעם אחת. שמרו את הערך במנהל הסיסמאות לפני שאתם סוגרים את הלשונית."_ הכשל הנפוץ ביותר בקליטה הוא נמען שקורא את הסוד, סוגר את הלשונית ומניח שיוכל לחזור אליו אחר כך.

## נוהל להחלפת פרטי התחברות

החלפה של סיסמה משותפת למסד נתונים, כשבצד המקבל יש קבלן או חבר צוות:

1. צרו את הסיסמה החדשה והחילו אותה במערכת המקור (מסד הנתונים, קונסולת הענן, היכן שנמצא העותק הרשמי).
2. עדכנו קודם את הצרכנים שלכם (כספת ה-CI, ה-K8s secret, הגדרות האפליקציה), כדי ששום דבר לא יישבר בזמן המסירה לאדם.
3. צרו קישור חד-פעמי לערך החדש: מחיקה לאחר קריאה, תפוגה של 1 שעה, ביטוי סיסמה.
4. מסרו את הקישור ואת ביטוי הסיסמה בערוצים שונים.
5. ודאו שאירוע הצפייה מופיע בציר הזמן של יומן הביקורת. אין צפייה לפני התפוגה? בטלו את הקישור והנפיקו חדש. לעולם אל תשלחו שוב את אותו קישור.
6. ודאו שפרטי ההתחברות הישנים מושבתים במקור.

כל החלפה מקבלת קישור משלה. הקישורים בלתי תלויים זה בזה מעצם התכנון: זה יתרון במסירה וחיסרון בניהול, ולכן _לוח הזמנים_ של ההחלפות נשמר במנהל הסיסמאות או בנוהל שלכם, לא בכלי הקישורים.

## טיפול באירועי אבטחה

במהלך אירוע אבטחה צריך לעיתים קרובות להחליף פרטי התחברות ולחלק את החדשים מהר לכמה אנשים שמטפלים באירוע. אל תדביקו אותם בערוץ של האירוע: הערוץ הזה מתועד לקראת התחקיר, והסוד יגיע לייצוא, למסמך התחקיר ולכל מערכת שמירה שבאה אחריהם.

- החליפו את פרטי ההתחברות במערכת המקור.
- הנפיקו קישור סודי עם תפוגה של 30 דקות.
- שימו את הקישור בערוץ ושלחו את ביטוי הסיסמה בהודעה פרטית.
- אחרי האירוע, ודאו שהקישור נמחק או בוטל.

כך התחקיר מכיל URL שכבר לא עובד במקום סיסמת מנהל פעילה, ויומן הביקורת נותן למי שבודק את ציר הזמן רישום מדויק בלי עבודה נוספת: "פרטי ההתחברות הונפקו מחדש ב-14:32, נקראו ב-14:33".

הערה על תצוגות מקדימות: אפליקציות צ'אט טוענות כתובות URL שמודבקות בהן כדי להציג תצוגה מקדימה. קישור סודי שתוכנן היטב עומד בזה, כי טעינת התצוגה המקדימה היא `GET` והצגת הסוד היא `POST` מפורש. ראו סורקי קישורים וסודות חד-פעמיים (https://uselinkpilot.com/he/blog/link-scanners-and-one-time-secrets) להסבר המלא. אם אתם בוחנים כלי, בדקו את זה לפני אירוע אבטחה, לא במהלכו.

## מה יומן הביקורת מספר לכם?

האם הסוד נקרא, מתי ובערך מאיפה, והאם מישהו ניסה ביטוי סיסמה שגוי. לכל סוד ב-LinkPilot יש ציר זמן של אירועים: created, viewed, failed_passphrase, burned, expired, revoked. צפיות נרשמות עם חותמת זמן, מיקום גיאוגרפי משוער כשהוא זמין, ה-user agent ו-IP שעבר hash (SHA-256 עם salt שמתחלף כל יום; כתובת ה-IP הגולמית לא נשמרת אף פעם). בפועל זה נותן שלוש תשובות שסקריפטים ונהלים יכולים לסמוך עליהן:

- **אישור מסירה:** אירוע viewed אומר שהמסירה התבצעה.
- **זיהוי חריגות:** רצף של failed_passphrase או צפייה שאתם לא מזהים הם הסימן להחליף את פרטי ההתחברות מיד.
- **רישום נקי לביקורות:** "נמסר פעם אחת, נקרא פעם אחת, נמחק" הוא משפט שמבקרים אוהבים.

## מגבלות: מה קישורים לא פותרים

- **הם לא כספת.** קישור חד-פעמי לא מנהל גישה שוטפת, לוחות זמנים של החלפות או רשימות של מי מחזיק מה.
- **הקישור הוא המפתח.** LinkPilot מצפין תוכן טקסט בדפדפן שלכם ולא מקבל את המפתח, אבל המפתח עובר בחלק של הקישור שאחרי הסימן #. לכן כל מי שמשיג את הקישור המלא יכול לקרוא את הסוד, וקישור שאבד פירושו סוד שאי אפשר לשחזר. קבצים מצורפים מוצפנים באותה דרך, אבל השמות והגדלים שלהם לא. תפוגה קצרה ומחיקה לאחר קריאה עדיין חשובות. _עדכון, 29 בספטמבר 2026: בסעיף הזה נכתב בעבר "הם לא מוצפנים מקצה לקצה", וזה היה נכון עד התאריך הזה._ הפרטים בדף ארכיטקטורת האבטחה (https://uselinkpilot.com/he/security-architecture).
- **הם לא פותרים פיזור של סודות בקוד.** מפתחות שכתובים ישירות במאגרי קוד צריכים סריקה והחלפה, לא אמצעי מסירה טוב יותר.
- **הם לא יכולים להגן על הצד השני.** אחרי שאדם קרא את הערך, הניחו שהוא נמצא בכל מקום שבו האדם שמר אותו.

נסו בחינם, בלי הרשמה

### מחולל קישורים סודיים חד-פעמיים

שתפו סיסמה או פתק בקישור שנפתח פעם אחת.

פתיחת הכלי (https://uselinkpilot.com/he/tools/free-secret-link-generator)

## לקריאה נוספת

- איך משתפים מפתחות API בצורה מאובטחת: https://uselinkpilot.com/he/blog/how-to-share-api-keys-securely
- קישורים עם תפוגה: למה חלון זמן קצר חשוב: https://uselinkpilot.com/he/blog/expiring-links-security
- ארכיטקטורת האבטחה של LinkPilot: https://uselinkpilot.com/he/security-architecture

## מקורות

- GitHub Docs, Using secrets in GitHub Actions (https://docs.github.com/en/actions/security-for-github-actions/security-guides/using-secrets-in-github-actions).
- Kubernetes, Secrets (https://kubernetes.io/docs/concepts/configuration/secret/).
- jq, Manual (https://jqlang.org/manual/).
- curl, Manual page, `-d, --data` (https://curl.se/docs/manpage.html#-d).

## כלים למאמר הזה

מחולל קישורים סודיים חד-פעמיים

שתפו סיסמה או פתק בקישור שנפתח פעם אחת.
https://uselinkpilot.com/he/tools/free-secret-link-generator

הודעה שמשמידה את עצמה

שלחו פתק שנעלם אחרי קריאה אחת.
https://uselinkpilot.com/he/tools/burn-after-read-secret

מחולל קישורים עם תוקף

צרו קישורים שמפסיקים לעבוד בזמן שקבעתם.
https://uselinkpilot.com/he/tools/temporary-link

## שאלות נפוצות

### אפשר ליצור קישורים סודיים מסקריפט?

### האם סודות צריכים להישמר במשתני סביבה ב-CI?

### איך מטפלים בהחלפה בסקריפטים?

### הסוד לא יגיע להיסטוריית ה-shell או לרשימת התהליכים?

### איך מוודאים שהנמען באמת קיבל את פרטי ההתחברות?

## LinkPilot שולח קישור סודי שנמחק אחרי שפותחים אותו.

מוצפן בדפדפן שלכם, מוצג פעם אחת ואז מושמד. ללא חשבון.

יצירת קישור סודי (https://uselinkpilot.com/he/tools/free-secret-link-generator)

## לקריאה נוספת

אבטחה

### קישורים סודיים מול מנהלי סיסמאות

מנהל סיסמאות שומר פרטי התחברות שהצוות משתמש בהם שוב ושוב. קישור סודי חד-פעמי מוסר פרט התחברות אחד לאדם אחד פעם אחת. רוב הצוותים צריכים את שניהם, לצרכים שונים.
https://uselinkpilot.com/he/blog/secret-links-vs-password-managers

אבטחה

### סורקי קישורים וסודות חד-פעמיים

קישור חד-פעמי שנמחק בבקשת GET רגילה מת ברגע ש-Slack או שער אבטחה של אימייל יוצרים לו תצוגה מקדימה. החזירו מטא-דאטה ב-GET ומחקו רק בהצגה מפורשת.
https://uselinkpilot.com/he/blog/link-scanners-and-one-time-secrets

אבטחה

### איך משתפים מפתחות API בצורה מאובטחת

אל תדביקו מפתח API בצ'אט או באימייל. שלחו קישור סודי חד-פעמי שמוצפן בדפדפן ומושמד אחרי פתיחה אחת, והחליפו כל מפתח שכבר הודבק.
https://uselinkpilot.com/he/blog/how-to-share-api-keys-securely

## Structured data

```json
[
  {
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [
      {
        "@type": "ListItem",
        "position": 1,
        "name": "דף הבית",
        "item": "https://uselinkpilot.com/he"
      },
      {
        "@type": "ListItem",
        "position": 2,
        "name": "בלוג",
        "item": "https://uselinkpilot.com/he/blog"
      },
      {
        "@type": "ListItem",
        "position": 3,
        "name": "שיתוף מאובטח בקישורים למפתחים",
        "item": "https://uselinkpilot.com/he/blog/secure-link-sharing-for-developers"
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "BlogPosting",
    "@id": "https://uselinkpilot.com/he/blog/secure-link-sharing-for-developers#article",
    "headline": "שיתוף מאובטח בקישורים למפתחים",
    "description": "מדריך מעשי לצוותי פיתוח: מתי להשתמש בקישורים חד-פעמיים, איך ליצור אותם מסקריפט ואיך לשלב אותם בקליטת עובדים וב-CI.",
    "inLanguage": "he",
    "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/he/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/he/blog/secure-link-sharing-for-developers"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "אפשר ליצור קישורים סודיים מסקריפט?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "כן. ל-LinkPilot יש REST API (בכל התוכניות, כולל Free), כך שאפשר להנפיק סודות מסקריפטים של קליטת עובדים, ממשימות CI או מכלים פנימיים. כל קריאה מחזירה URL שאפשר להעביר לאימייל, ל-Slack או ל-SMS."
        }
      },
      {
        "@type": "Question",
        "name": "האם סודות צריכים להישמר במשתני סביבה ב-CI?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "כן, זה עדיין הכלי הנכון לזמן הריצה של CI. השתמשו בקישורים סודיים למסירה מאדם לאדם (מסירת פרטי ההתחברות הראשונים למהנדס, כדי שיכניס אותם לכספת של ה-CI), לא לנתיב ממכונה למכונה."
        }
      },
      {
        "@type": "Question",
        "name": "איך מטפלים בהחלפה בסקריפטים?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "צרו פרטי התחברות חדשים במערכת המקור, הכניסו אותם לקישור חד-פעמי, שלחו את הקישור, והנמען ישמור אותם במנהל הסיסמאות שלו או בכספת של ה-CI. אל תשתמשו באותו קישור בכמה החלפות: כל החלפה מקבלת קישור משלה."
        }
      },
      {
        "@type": "Question",
        "name": "הסוד לא יגיע להיסטוריית ה-shell או לרשימת התהליכים?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "זה הסיכון האמיתי בסקריפט נאיבי: משתמשים מקומיים אחרים רואים ארגומנטים של שורת הפקודה דרך ps בזמן שהפקודה רצה, ו-shell אינטראקטיבי כותב קובצי היסטוריה. העבירו את התוכן דרך stdin (curl -d @-) ושמרו מפתחות API במשתני סביבה, לעולם לא בדגלים."
        }
      },
      {
        "@type": "Question",
        "name": "איך מוודאים שהנמען באמת קיבל את פרטי ההתחברות?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "בדקו את ציר הזמן של יומן הביקורת של הסוד. אירוע viewed או burned עם חותמת זמן מאשר שהמסירה התבצעה. סוד שתוקפו פג בלי אירוע צפייה פירושו שהמסירה נכשלה: בטלו את הקישור והנפיקו חדש במקום לנחש."
        }
      }
    ],
    "inLanguage": "he"
  },
  {
    "@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"
    }
  }
]
```