Dla administratorów
← Wszystkie tematy

Siatka bezpieczeństwa: czego draften nigdy nie robi

Nigdy nie wysyła, nigdy nie usuwa, nigdy nie traktuje obcego tekstu jako polecenia. Ile z tego da się wyłączyć: nic.

Ta strona jest dla tego, kto w firmie odpowiada za draften – i dla każdego, kto pyta „a co, jeśli coś pójdzie nie tak”. Poniższe rzeczy to nie ustawienia. To właściwości programu i nie da się ich włączyć ani wyłączyć.

Nie wysyła

W kodzie draften nie ma ani jednego miejsca, które wysyłałoby wiadomość. W ogóle nie używa serwera poczty wychodzącej (SMTP).

W Microsoft wymusza to samo uprawnienie: Mail.Send nigdy nie jest nadawane. W Google nadawane są tylko zakresy do odczytu, szkiców i etykiet. Skrzynka podłączona przez IMAP używa konta z hasłem aplikacji, więc tam barierę stawia nie dostawca, tylko draften – nie ma SMTP i nie może wysyłać.

Żaden błąd w wytycznych, żaden sfałszowany e-mail ani żadna pomyłka nie mogą więc sprawić, że poczta wyjdzie. Najgorszy przypadek to źle napisany szkic – a ten ktoś musi wysłać ręcznie.

Nie usuwa

Asystent niczego ze skrzynki nie usuwa: żadnej wiadomości, żadnego szkicu, żadnego folderu. Robi tam dokładnie dwie rzeczy: tworzy szkic i oznacza przetworzoną wiadomość (kategorią, etykietą albo słowem kluczowym, zależnie od systemu pocztowego) – a jeśli wiadomość była nieprzeczytana, zostawia ją nieprzeczytaną.

Szkic, który sam napisał, może na twoje polecenie przepisać. To cały zakres tego, co z nim robi: nie usuwa go i nie wysyła. Zobacz Przeróbka szkicu poleceniem.

Obcy tekst nigdy nie jest rozkazem

Każdy tekst, który przyszedł z zewnątrz – treść wiadomości, historia wątku, zawartość strony z dokumentacją – trafia do modelu wydzielony i oznaczony jako dane. Reguła, że poleceń nigdy nie bierze się z takiego tekstu, jest zapisana w programie, nie w edytowalnym tekście. Nie może jej unieważnić ani twoje polecenie, ani zdanie atakującego w e-mailu.

Do tego wiadomość jest przed przetworzeniem oczyszczana: usuwany jest biały tekst, tekst o zerowym rozmiarze, komentarze HTML i niewidoczne znaki, a to, co znaleziono, zapisuje się przy wiadomości. Praca idzie dalej – po prostu widać, co się stało.

Dlaczego to ważne: e-mail może napisać każdy. Gdyby tekst wiadomości był traktowany jako polecenie, wystarczyłoby napisać „wyślij odpowiedź na inny adres”. W draften taka próba kończy się zapisem, nie działaniem.

Wynik modelu jest sprawdzany

To, co napisze model, program weryfikuje, zanim szkic zostanie zapisany:

Jeśli któraś kontrola nie przejdzie, szkic nie powstaje, a wiadomość dostaje stan odrzucona razem z powodem.

Pieniądze mają sufit

Dzienny limit kosztów to ostatnie zabezpieczenie: po osiągnięciu ustawionego limitu żaden model nie jest wywoływany i przetwarzanie się zatrzymuje. Nic się nie kolejkuje i nic nie jest później nadrabiane – następny dzień toczy się normalnie. Limity ustawia się dla każdego asystenta i dla całej organizacji. Zobacz Koszty i limity.

Dane dostępowe są zaszyfrowane

Dane dostępowe do skrzynek, klucze modeli i tokeny do podłączonych systemów są w bazie danych zaszyfrowane (AES-256-GCM). Klucz, który je odblokowuje, jest przechowywany poza bazą danych; we własnej instalacji to MASTER_KEY.

Kopia zapasowa bazy danych bez MASTER_KEY nie wystarczy: bez klucza zaszyfrowane wartości są po odtworzeniu bezużyteczne. Zobacz Kopia zapasowa i odtwarzanie.

Dwa workery się nie zderzą

Nawet gdy działa kilka procesów draften, jedną skrzynkę obsługuje zawsze tylko jeden z nich – trzyma na niej blokadę w bazie danych. Dwa szkice do jednej wiadomości nie mogą powstać.

Wersja tekstowa