# סוכן הדפדפן של Dvina

> איך בעלי אתרים יכולים לזהות, לאמת, לאפשר או לחסום את הדפדפן שבו Dvina משתמש עבור האנשים שהוא עובד בשבילם.

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

## מהו הדפדפן של Dvina

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

- **הוא פועל עבור אדם אחד.** כל דפדפן שייך למשתמש אחד שמחובר ל-Dvina ועובד על מה שאותו אדם ביקש.
- **הוא לא סורק אתרים.** אין רשימת אתרים שהוא מבקר בהם מיוזמתו. הוא פותח את הדפים שנדרשים למשימה, צעד אחר צעד: טוען דף, קורא אותו ואז פועל בו, כמו שאדם עושה.
- **התוכן לעולם לא משמש לאימון מודלים.** מה שהדפדפן של Dvina קורא באתר שלכם משמש רק לבקשה של האדם שהוא עובד עבורו. התוכן הזה לעולם לא משמש לאימון מודל AI.
- **הוא משאיר לאדם את ההחלטות האישיות שלו.** הוא לא מקליד סיסמאות או פרטי כרטיס. כשדף דורש מהאדם להתחבר או לשלם, Dvina עוצר ומבקש ממנו לקחת את השליטה. הזנת פרטים אישיים, שליחה, תשלום ומחיקה ממתינים לאישור של האדם.
- **הוא לא פותר בדיקות אימות אנושי.** כשהוא נתקל בבדיקה שנועדה לוודא שאדם הוא זה שגולש, כמו הבדיקה של Cloudflare,‏ Turnstile,‏ reCAPTCHA או hCaptcha, הוא לא לוחץ עליה, פותר אותה או טוען אותה מחדש. כשבדיקה מסתיימת מעצמה, Dvina ממתין לסיומה. כשהיא נשארת, העבודה נעצרת, והאדם לוקח את השליטה בדפדפן, עובר את הבדיקה ומחזיר את השליטה.

## זיהוי הבקשות שלו

הדפדפן של Dvina חותם על כל בקשת http ו-https שהוא שולח באמצעות [Web Bot Auth](https://datatracker.ietf.org/wg/webbotauth/about/), חתימות על הודעות HTTP ([RFC 9421](https://www.rfc-editor.org/rfc/rfc9421)) עם מפתח Ed25519. כל בקשה כוללת שלוש כותרות:

```http
Signature-Agent: "https://api.dvina.ai"
Signature-Input: sig1=("@authority" "signature-agent");created=<unix time>;expires=<created + 60>;keyid="<key id>";alg="ed25519";nonce="<random>";tag="web-bot-auth"
Signature: sig1=:<Ed25519 signature>:
```

- `Signature-Agent` מציין את Dvina, המקור שבו המפתחות שלו מתפרסמים.
- `Signature-Input` מכסה את `@authority` של הבקשה (המארח שלכם) ואת הכותרת `Signature-Agent`. ערך ה-`tag` הוא `web-bot-auth`.
- כל חתימה תקפה למשך 60 שניות, מ-`created` עד `expires`.
- `keyid` הוא טביעת האצבע של ה-JWK של המפתח ([RFC 7638](https://www.rfc-editor.org/rfc/rfc7638)).

הדפדפן שולח את ה-user agent של Chromium עצמו, כמו כל דפדפן Chromium ב-Linux, לדוגמה:

```text
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36
```

גרסת Chrome שלו משתנה עם העדכונים של Chromium, וה-user agent לא מציין דבר על Dvina. זהו את Dvina לפי החתימה שלו, לא לפי ה-user agent שלו.

> [!NOTE]
> באפליקציה למחשב, אפשר גם לאפשר ל-Dvina להשתמש בדפדפן במחשב האישי. הדפדפן הזה לא חותם על הבקשות שלו, והגלישה בו נראית כמו הגלישה של האדם עצמו.

## אימות חתימה

Dvina מפרסם את המפתח הציבורי שלו בספריית המפתחות שלו:

```text
https://api.dvina.ai/.well-known/http-message-signatures-directory
```

הספרייה מחזירה תשובה עם `Content-Type: application/http-message-signatures-directory+json` ו-JSON Web Key Set שכולל את מפתח Ed25519 הציבורי של Dvina. התשובה חתומה באותו מפתח, עם `tag="http-message-signatures-directory"`.

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

1. בדקו שהערך של `Signature-Agent` הוא `"https://api.dvina.ai"` וש-`Signature-Input` כולל `tag="web-bot-auth"`.
2. בדקו שהזמן הנוכחי נמצא בין `created` ל-`expires`.
3. קבלו את ספריית המפתחות ובחרו את המפתח שטביעת האצבע של ה-JWK שלו תואמת ל-`keyid`.
4. בנו את בסיס החתימה מתוך `@authority`,‏ `signature-agent` ופרמטרי החתימה, כפי שמתואר ב-RFC 9421, ואמתו את `Signature` באמצעות אותו מפתח Ed25519.

כל אחד יכול לשלוח את הכותרות האלה. התייחסו לבקשה כבקשה של Dvina רק אם החתימה שלה אומתה מול ספריית המפתחות של Dvina.

## מתן גישה או חסימה

הדפדפן של Dvina פועל בזמן אמת עבור אדם אחד: זהו סוג התעבורה שנכלל בהגדרה המוכנה מראש **Agent** של Cloudflare. אם האתר שלכם משתמש ב-Cloudflare:

- **מדיניות לבוטים של AI:** ב**הגדרות אבטחה**, בחרו **הגדרת מדיניות לבוטים של AI**. עבור **Agent**, בחרו **אפשר (אל תחסום)**, **חסום בדפים עם מודעות** או **חסום (בכל הדפים)**.
- **כללי WAF מותאמים אישית:** בבקשות מבוטים מאומתים ומסוכנים חתומים, `cf.client.bot` (או `cf.bot_management.verified_bot` כשמשתמשים ב-Bot Management) מוגדר לערך true. השתמשו בו בכלל מותאם אישית כדי לדלג על הבדיקות, לדרוש אימות או לחסום אותם.
- **ספריית הבוטים המאומתים:** ראו אילו סוכנים Cloudflare מאמתת ב-[Cloudflare Radar](https://radar.cloudflare.com/verified-bots).

בכל שירות אחר, אמתו את החתימה כמתואר לעיל, ואז אפשרו או חסמו בקשות שבהן הערך המאומת של `Signature-Agent` הוא `"https://api.dvina.ai"`.

## צרו קשר

יש לכם שאלות על הדפדפן של Dvina באתר שלכם, או שנתקלתם בבקשה שלא התנהגה כמתואר בדף הזה? שלחו הודעת דוא״ל ל-[support@dvina.ai](mailto:support@dvina.ai) עם כתובת האתר שלכם, ואם יש בידיכם גם את מועד הבקשות ואת ה-`keyid` שלהן.

## מידע קשור

- [שימוש במחשב](/docs/use-dvina/features/computer-use)
- [פרטיות ונתונים](/docs/help/privacy-and-data)
