aimcpprogramistabezpieczeństwo

Pozwól AI wysyłać sekrety, nie dając jej tych sekretów.

Jak PrivateNote MCP przekazuje pliki przez e-mail, Slack, Discord i WhatsApp — bez odczytu przez model

Zaktualizowano 11 września 20267 min czytaniaPrivateNote.ai

Asystent może dziś wysłać umowę, hasło albo CSV. Nie musi tych plików czytać, żeby to zrobić. Przekaż lokalne ścieżki do PrivateNote MCP i w kanale, którego już używasz, umieść tylko samoniszczący się link.

Kluczowe wnioski

  • Przekazuj ścieżki plików, nie bajty — lokalny MCP szyfruje, więc model nie potrzebuje ładunku.
  • Zatwierdzasz podgląd, który wiąże dokładne bajty, opcje i cel. Utworzenie notatki nie jest zgodą na wysłanie.
  • E-mail, Slack, Discord i WhatsApp powinny nieść tylko URL PrivateNote, gdy sendAuthorized jest prawdziwe — nigdy pliku. Zostaw one-shot wyłączony, jeśli agent potrafi też wysyłać wiadomości.
  • Odszyfrowywalny URL to zdolność na okaziciela, którą agent widzi po potwierdzeniu. Nie loguj go. Po dostawie odpytaj status otwarcia albo unieważnij nieotwartą notatkę.

Przydatna część asystenta AI nie polega na tym, że potrafi przeczytać umowę, plik haseł albo eksport klientów. Przydatna część polega na tym, że potrafi dostarczyć ten ładunek właściwej osobie, na kanale, w którym ta osoba już jest, nie zamieniając asystenta w kopię sekretu.

To codzienna praca: wysłać PDF do klienta mailem, zostawić hasło stagingu koledze na Slacku, przekazać token bota moderatorowi na Discordzie albo wstawić jednorazowe logowanie do wątku WhatsApp. Ludzie robią to już przez wklejanie. Agenci przyspieszają wklejanie — i powiększają wyciek, bo sekret siedzi teraz też w kontekście modelu, w transkrypcji czatu i w każdym logu, który host trzyma.

Serwer MCP PrivateNote jest zbudowany pod odwrotny podział. Agent orkiestruje. Lokalny proces obsługuje sekret. Ty zatwierdzasz dokładny plik i cel. E-mail, Slack, Discord i WhatsApp niosą tylko link. Model dostaje polecenie przekazać ścieżki plików, nie bajty. Szyfrowanie dzieje się na Twojej maszynie po potwierdzeniu. Wraca URL, którego fragment trzyma klucz — ten sam model co jednorazowy tajny link w aplikacji webowej. Utworzenie notatki nie jest zgodą na jej wysłanie.


Praca polega na wysyłaniu, nie na wiedzy

Większość porad „AI + sekrety” nadal zakłada, że model musi zobaczyć poświadczenie, żeby pomóc. To prawda, jeśli chcesz, żeby model wyjaśnił plik, przepisał umowę albo zdebugował klucz. To nieprawda, jeśli chcesz, żeby go dostarczył.

Dostawa to problem logistyczny: który plik, która osoba, który kanał, jak długo dostęp ma trwać, czy ma spłonąć po pierwszym odczycie. Żadna z tych decyzji nie wymaga tekstu jawnego. Wymagają narzędzia, które potrafi odczytać lokalną ścieżkę, zaszyfrować i zwrócić uchwyt, który reszta stosu może zobaczyć.

Do tego jest privatenote-mcp. Hosty, które honorują instrukcje MCP, dostają kolejno: jeśli użytkownik nazwał lokalny plik, przekaż ścieżkę bezwzględną; nie otwieraj, nie rób cat i nie streszczaj; wywołaj create_private_note (podgląd); poczekaj na Twoje zatwierdzenie; potem wywołaj confirm_private_note. Dopiero wtedy inne narzędzie może wysłać URL — i tylko do celu, który zatwierdziłeś.

Zasada

Jeśli asystent może dokończyć zadanie ścieżką, nie wolno mu dokończyć go treścią. Wklejenie do promptu to ostateczność — gdy sekret już jest na czacie.

Dlaczego kanały, których już używasz, trzymają złą kopię

E-mail, Slack, Discord i WhatsApp są dobre w rozmowie. Są złymi sejfami. Szyfrowanie w tranzycie, nawet end-to-end, nie decyduje, jak długo przeszukiwalna kopia zostaje na urządzeniach, w eksportach workspace, w kopiach zapasowych w chmurze albo w podglądach powiadomień. To to samo rozróżnienie co dlaczego e-mail jest najgorszym miejscem na sekrety i dlaczego sekretów nigdy nie wolno wklejać na czat.

  • E-mail trzyma załączniki w obu skrzynkach, na serwerach poczty, w legal holdach i w „szukaj we całej poczcie”. Przekazanie mnoży kopie, których później nie cofniesz.
  • Slack jest indeksowany przez workspace. Administratorzy, eksporty zgodności i funkcje AI, które streszczają kanały, mogą odnaleźć hasło miesiące później.
  • Discord na ruchliwym serwerze wygląda na ulotny. Nie jest. Przypięcia, wyszukiwanie i DM-y trzymają tokeny botów i sekrety adminów obok memów.
  • WhatsApp jest często jedynym kanałem, który wykonawca albo klient naprawdę otworzy. To też skrzynka rodzinna: zrzuty ekranu podróżują, połączone komputery się synchronizują, a kopie zapasowe przeżywają zlecenie.

Chodzi nie o porzucenie tych narzędzi. Chodzi o to, żeby przestać wkładać w nie ładunek. Zostają kopertą. Notatka jest listem. Odbiorcy nadal nie potrzebują konta PrivateNote: otwierają link w przeglądarce, tak jak każdy inny URL, który już im wysyłasz.


Podział na trzy

RolaCo może zobaczyćCzego nie może zobaczyć
Agent AI (Cursor, Claude, Codex)Kto, która ścieżka, który kanał, wygaśnięcie, burn-after-read. Po Twoim potwierdzeniu: odszyfrowywalny URLBajty pliku, hasła, treść notatki. Nie wolno mu wysłać URL, dopóki nie zatwierdzisz tego celu
PrivateNote MCP (lokalny proces Node)Pliki na dysku, tylko do szyfrowaniaNic, co potem zwraca jako tekst jawny
E-mail / Slack / Discord / WhatsAppURL PrivateNote (i czytelny temat)Załącznik, poświadczenie, hasło dostępu

MCP nie wysyła za Ciebie maila ani wiadomości Slack. Utworzenie notatki nie jest zgodą na wysłanie. Gdy zatwierdzisz podgląd, który nazywa dokładny kanał i odbiorcę, wynik może zawierać sendAuthorized: true — wtedy narzędzie poczty albo czatu może wysłać tylko URL do tego celu. Jeśli żaden cel nie został zatwierdzony, sendAuthorized jest false i agent powinien dać Ci URL do wklejenia, a nie odpalić kolejne narzędzie.

URL to zdolność na okaziciela: kto go ma, może otworzyć notatkę. Obecny host MCP zwraca secureUrl w wyniku narzędzia, więc agent widzi link, choć nie widzi bajtów pliku. Nie loguj go, nie commituj i nie kopiuj do niepowiązanych narzędzi. Traktuj go jak sekret.

Reszta zwróconego ładunku jest mała: noteId, expiresAt, burnAfterReading oraz, gdy trzeba, passwordProtected i attachedFileNames. Nazwy plików to metadane, nie treść — i tak nie wkładaj sekretu w nazwę pliku.


Co MCP naprawdę robi na Twojej maszynie

Gdy agent wywołuje create_private_note, lokalny proces Node.js — nie model — kanonizuje ścieżkę, sprawdza ją względem allowlisty workspace, liczy skrót pliku i pokazuje podgląd. Jeszcze nie zwraca odszyfrowywalnego URL. Po Twoim zatwierdzeniu confirm_private_note otwiera ten sam plik ponownie, weryfikuje urządzenie, inode, rozmiar i SHA-256 i szyfruje te bajty. Jeśli plik się zmienił, potwierdzenie pada; agent musi zacząć od nowa. Szyfrogram AES-256-GCM idzie POST-em do PrivateNote. Klucz odszyfrowania ląduje we fragmencie URL (#…). Przeglądarki nie wysyłają fragmentów na serwery. API trzyma zaszyfrowany blob. Bez fragmentu ten blob to szum.

Wolisz parametry ścieżki, żeby host nigdy nie musiał wkładać sekretu w argumenty wywołania, które zbudował model:

  • contentFilePath — plik UTF-8, który staje się treścią notatki (hasło, kod odzyskiwania, krótka instrukcja).
  • filePath / filePaths — lokalne załączniki (PDF, CSV, obrazy). Wymaga sign_in. Łącznie najwyżej 20 plików.
  • passwordFilePath — pierwsza linia lokalnego pliku staje się hasłem odsłonięcia (owinięcie Argon2id). Wyślij to hasło innym kanałem, nigdy w tej samej wiadomości co link.
  • content i password — ostateczność, tylko gdy użytkownik już wkleił sekret na czat i plik nie istnieje.

Domyślna polityka pasuje do przekazania, nie do archiwum: burnAfterReading jest true, expiresIn domyślnie to 24 godziny. Krócej jest lepiej, gdy odbiorca czeka po drugiej stronie Slacka. Wielokrotny odczyt (burnAfterReading: false) wymaga konta Premium. Załącznik, weryfikacja odbiorcy, powiadomienia o otwarciu oraz lista i unieważnienie wymagają zalogowanej sesji; bramki i alerty wymagają też planu płatnego.

Ścieżki są ograniczone. Domyślnie wolno czytać tylko pliki w workspace (katalog roboczy procesu MCP). Ustaw PRIVATENOTE_MCP_ALLOWED_ROOTS, jeśli musisz dodać foldery. Klucze SSH, katalogi poświadczeń chmurowych i plik sesji MCP są zawsze zablokowane, nawet gdy pozwolisz na $HOME albo /.


Zatwierdzasz dokładne przekazanie — nie nazwę ścieżki

Agent, który potrafi utworzyć odszyfrowywalny link i wysłać mail albo Slack, to confused deputy: może zaszyfrować zły plik albo wysłać dobry link złej osobie, w jednej turze. Domyślnie w PrivateNote Ty autoryzujesz trzy rzeczy razem: dokładne bajty pliku, dokładne opcje notatki (wygaśnięcie, burn-after-read) i dokładny cel.

Podgląd musi pokazać cel, gdy żądane jest wysłanie, na przykład „Send via: Email / Recipient: alice@example.com”. Zatwierdzenie tego nigdy nie może autoryzować innego adresu ani kanału Slack. confirm_private_note przyjmuje tylko confirmationId. Agent nie może przy potwierdzeniu nadpisać ścieżki, odbiorcy, kanału, wygaśnięcia ani polityki zniszczenia.

Notatka bez celu zwraca sendAuthorized: false. To celowe. Link na czacie nadal jest wrażliwy — ale to nie zgoda, żeby go wysłać pocztą.

Nie włączaj one-shot, jeśli agent potrafi wysyłać

PRIVATENOTE_MCP_ALLOW_ONE_SHOT pomija ludzki podgląd. Agent nie może tego włączyć jako argumentu narzędzia, a późniejsza zmiana środowiska nie działa, dopóki nie zrestartujesz serwera MCP. Zostaw wyłączone. Włączenie, gdy ten sam host potrafi wysłać mail, Slack, Discord albo pliki, pozwala modelowi w jednym kroku utworzyć odszyfrowywalny link i go wysłać — w tym zły plik albo złego odbiorcę. Allowlista ścieżek nadal obowiązuje; nie zastępuje Twojego zatwierdzenia.

Podłącz raz

Wymaga Node.js 18+. Po zapisaniu zrestartuj klienta MCP, żeby wczytał bieżące schematy narzędzi i instrukcje. Pełne notatki instalacji są na stronie integracji MCP.

~/.cursor/mcp.json · Claude Desktop używa tego samego bloku
{
  "mcpServers": {
    "privatenote": {
      "command": "npx",
      "args": ["-y", "privatenote-mcp"]
    }
  }
}

Codex CLI: codex mcp add privatenote -- npx -y privatenote-mcp. To zapisuje ~/.codex/config.toml. Notatki specyficzne dla Codex są w Używanie PrivateNote z OpenAI Codex.

Self-hosted: ustaw PRIVATENOTE_API_BASE_URL i PRIVATENOTE_WEB_ORIGIN w bloku env MCP, żeby szyfrogram nie opuszczał Twojej infrastruktury. Opcjonalnie PRIVATENOTE_MCP_ALLOWED_ROOTS. Nie dodawaj PRIVATENOTE_MCP_ALLOW_ONE_SHOT, chyba że masz ściśle ograniczony host automatyzacji bez narzędzi wysyłki.


Na co dzień: e-mail

E-mail nadal jest sposobem, w jaki firmy wysyłają umowy, NDA, faktury z danymi bankowymi i eksporty klientów. Awaria polega na załączeniu pliku. Skrzynka trzyma wtedy odszyfrowywalną kopię latami, także po stronie odbiorcy, w śladach BCC i w e-discovery.

Wzorzec MCP: agent zna już adres Alice i dwa lokalne PDF-y. Nie wolno mu ich otwierać. Loguje się, jeśli trzeba, woła create_private_note z filePaths, sendChannel i sendRecipient, żeby podgląd nazwał Alice, czeka na Twoje zatwierdzenie, potem confirm_private_note. Dopiero wtedy narzędzie poczty może wstawić tylko secureUrl do treści maila. Jeśli używasz weryfikacji odbiorcy, czytający musi udowodnić, że adres należy do niego, zanim notatka się otworzy — ta bramka nie wysyła maila; nadal robi to Twoje narzędzie poczty.

Co mówisz
Wyślij te dwa pliki do Alice mailem.
Chroń je hasłem z /absolute/path/client-password.txt.
Nie ujawniaj plików ani hasła modelowi:
/absolute/path/contract.pdf
/absolute/path/nda.pdf
  • Agent woła sign_in, jeśli nie ma sesji wtyczki, potem create_private_note z filePaths, passwordFilePath, sendChannel: "email" i sendRecipient. Zatwierdzasz podgląd. Potem confirm_private_note.
  • Temat może brzmieć „pakiet umowy” — nie powinien cytować klauzul z PDF-a.
  • Wyślij hasło dostępu w drugiej wiadomości, w rozmowie albo przez udział w menedżerze haseł — nigdy w tym samym mailu co link. Zobacz jak bezpiecznie udostępnić hasło.
  • Dla nazwanego odbiorcy na planie płatnym: requireRecipientVerification: true i recipientEmail: "alice@example.com".

To ten sam model dostawy co bezpieczne wysyłanie wrażliwych dokumentów, z tą różnicą, że asystent może go wykonać, nie stając się czytelnikiem pakietu.


Na co dzień: Slack

Slack to miejsce dyżuru. Hasła bazy staging, tokeny wdrożenia i „CSV z finansów” lądują w wątku, bo wszyscy już tam są. Wyszukiwanie workspace zamienia ten zrzut w trwałą wewnętrzną wiki sekretów.

Poproś o przekazanie oparte na ścieżce i krótki lont. Piętnaście minut wystarczy, jeśli kolega jest online. Spal po odczycie, żeby późniejsze trafienie wyszukiwania było martwym linkiem, nie żywym poświadczeniem. Traktuj URL jak sekret: nie publikuj go na kanale publicznym; użyj DM albo dedykowanego kanału prywatnego.

Co mówisz
Wyślij Markowi hasło bazy z /absolute/path/secrets/db-password.txt na Slacku.
Jednorazowy odczyt, wygasa za 15 minut.
Nie czytaj pliku na czacie.
  • create_private_note z contentFilePath, expiresIn: "15m", burnAfterReading: true i celem Slack związanym w podglądzie. Zatwierdź, potem confirm_private_note.
  • Jeśli Slack jest podłączony jako inne narzędzie MCP, agent może opublikować tylko secureUrl do zatwierdzonego celu, gdy sendAuthorized jest true. W przeciwnym razie daje Ci URL do wklejenia.
  • Gdy Mark otworzy, obróć hasło, jeśli to był współdzielony sekret stagingu — notatka zmniejszyła zaległe kopie; nie uczyniła współdzielonego poświadczenia unikalnym.

Na co dzień: Discord

Discord to domyślny kanał operacyjny wielu społeczności produktowych i zespołów bliskich grom. Tokeny botów, klucze Cloudflare i „oto arkusz zgłoszonych użytkowników” lądują w DM-ach moderatorów, bo moderatorzy są tam.

Wiadomość Discorda nadal jest zapisaną wiadomością. Członkowie serwera z właściwą rolą, kopie zapasowe urządzeń i własne wyszukiwanie Discorda ją zatrzymają. Wzorzec MCP jest taki sam jak na Slacku: zaszyfruj plik albo token lokalnie, włóż link do DM, ustaw krótkie wygaśnięcie. Jeśli token był wcześniej wklejony na tym samym serwerze, obróć go — owinięcie wyciekłego sekretu nie cofa wycieku.

Co mówisz
Wyślij DM-em liderowi społeczności token bota z /absolute/path/secrets/discord-bot.txt
i eksport moderacji z /absolute/path/reports/export.csv.
Jednorazowy odczyt, 1 godzina, nie otwieraj tych plików.
  • Załączniki wymagają sign_in. Notatka tylko z tokenem może użyć contentFilePath bez sesji.
  • Zwiąż cel Discord w podglądzie, zatwierdź go, potem confirm_private_note. Dopiero wtedy narzędzie Discord może wysłać URL.
  • Wolisz DM użytkownika niż wklejkę na kanale moderatorów. „Kanał prywatny” nadal jest transkrypcją.
  • Jeśli eksport zawiera dane osobowe, dodaj plik hasła i powiedz hasło liderowi w rozmowie głosowej.

Na co dzień: WhatsApp

WhatsApp to kanał, którego używasz, gdy druga osoba nie wejdzie na Slacka i nie sprawdzi maila do poniedziałku. Wykonawca, asystent family office, klient na telefonie. Szyfrowanie end-to-end jest prawdziwe. Trwałość też: czat jest zapisem, często na kilku urządzeniach, często w kopii zapasowej.

Nie muszą instalować PrivateNote. Muszą stuknąć link. Zadanie asystenta to przygotować ten link z lokalnego pliku, który już masz — PDF faktury, hasło Wi-Fi, jednorazowy kod portalu — bez czytania go najpierw w wątku Cursor albo Claude. Nadal zatwierdzasz podgląd (dokładny plik i cel WhatsApp), zanim confirm_private_note utworzy URL.

Co mówisz
Wyślij pakiet onboardingu z /absolute/path/client/onboarding.pdf
do Any na WhatsApp. Spal po odczycie, wygasa jutro.
Nie czytaj PDF-a.

WhatsApp podgląda URL-e. Ten podgląd to strona PrivateNote, nie odszyfrowany plik. Mimo to: nie wkładaj hasła dostępu do tego samego czatu. Jeśli numer może być zły, utwórz notatkę, wyślij link i unieważnij, jeśli nigdy go nie otworzyła. Prawnicy i inni zawodowi nadawcy, którzy potrzebują firmowej strony odsłonięcia zamiast zielonej bańki, powinni przeczytać bezpieczną dostawę do klientów dla prawników.


Zaloguj się, gdy ładunkiem jest plik

Notatki tylko tekstowe z contentFilePath da się utworzyć bez konta, w tych samych publicznych limitach co strona. Załącznik jest inny. MCP musi najpierw wywołać sign_in. Otwiera to stronę zatwierdzenia w przeglądarce (uprawnienie jest już w URL — nie ma kodu do wpisania). Po kliknięciu Approve agent woła sign_in ponownie z pollDeviceCode. Sesja leży w ~/.config/privatenote/mcp-session.json i jest wysyłana jako Authorization: Bearer. Nie zastępuje sesji ciasteczka strony.

  • Agent uruchamia sign_in() — otwiera się przeglądarka
  • Klikasz Approve na stronie PrivateNote
  • Agent odpytuje pollDeviceCode, potem whoami()
  • Agent woła create_private_note ze ścieżkami plików (podgląd — jeszcze bez URL)
  • Zatwierdzasz dokładne pliki, wygaśnięcie i cel
  • Agent woła confirm_private_note, potem Ty (albo inne narzędzie) wysyłasz tylko secureUrl na ludzkim kanale

whoami pokazuje zalogowane konto. sign_out kasuje plik sesji wtyczki. Traktuj ten plik jak poświadczenie tej maszyny.

Zainstaluj privatenote-mcp w Cursor, Claude Desktop albo Codex. Agent trzyma przebieg; lokalny proces trzyma sekret.

Otwórz przewodnik konfiguracji MCP

Po wysłaniu linku

Dobre przekazanie nie kończy się, gdy wiadomość opuszcza Slacka. Płatne, zalogowane sesje mogą traktować dostawę jako zdarzenia, nie treść: utworzona, otwarta, wygasła, unieważniona. list_sent_notes zwraca identyfikatory, status i openedAt — nigdy tekst jawny. revoke_sent_note unieważnia nieotwartą notatkę. notifyOnOpen mailuje Twoje konto PrivateNote, gdy notatka jest otwarta po raz pierwszy; agent dowiaduje się o otwarciu, odpytując list_sent_notes. Nie ma webhooka push do Cursora.

Przebieg biznesowy prowadzony przez agenta
sign_in()
create_private_note({
  filePaths: [
    "/absolute/path/signed-contract.pdf",
    "/absolute/path/customer-export.csv"
  ],
  expiresIn: "24h",
  burnAfterReading: true,
  requireRecipientVerification: true,
  recipientEmail: "john@example.com",
  notifyOnOpen: true,
  label: "contract-for-john",
  sendChannel: "email",
  sendRecipient: "john@example.com"
})
# wait for user approval of that exact destination
confirm_private_note({ confirmationId: "<from preview>" })
# email or Slack only secureUrl to John
# later: list_sent_notes() and look for openedAt on that noteId

Weryfikacja odbiorcy to bramka odblokowania na PrivateNote, nie zastępstwo wysłania wiadomości. Alerty otwarcia wymagają zweryfikowanego maila nadawcy na koncie. Pokwitowania samego statusu opisuje wiedzieć, kiedy tajny link został otwarty. Agenci z szerokim dostępem do narzędzi nadal potrzebują modelu uprawnień z zabezpieczania agentów AI jak pracowników.


Uczciwe zastrzeżenie prywatności

Mocne twierdzenie — „AI nigdy nie widziała bajtów pliku” — trzyma się, gdy host honoruje instrukcje najpierw-ścieżka i nigdy nie wkleiłeś ładunku do promptu. Nie znaczy, że agent nie może zobaczyć secureUrl po potwierdzeniu. Zwykłe wywołanie narzędzia MCP nadal może pokazać hostowi argumenty. Dlatego narzędzia wolą ścieżki: argumentem jest /Users/you/secrets/db-password.txt, nie hasło.

Jeśli wpiszesz create a PrivateNote for sk_live_abc123, dostawca modelu w chmurze może przetworzyć ten ciąg, zanim MCP ruszy. PrivateNote nadal przechowa tylko szyfrogram, a Slack nadal dostanie tylko link. Poprawiłeś wyciek w dół strumienia. Nie zatrzymałeś sekretu poza modelem. Dla maksymalnej prywatności trzymaj sekrety w plikach (albo użyj rozszerzenia VS Code / Cursor, żeby edytor szyfrował bez agenta) i podaj asystentowi ścieżkę.

  • Nie proś modelu, żeby „najpierw sprawdził PDF” albo go streścił. To wymusza odczyt innym narzędziem.
  • Nie wkładaj hasła dostępu do tego samego Slacka, WhatsAppa albo maila co URL.
  • Traktuj secureUrl jak sekret. Agent widzi go w wyniku narzędzia. Nie commituj go, nie loguj i nie wklejaj na publiczny kanał Discord.
  • Przeładuj klienta MCP po aktualizacji privatenote-mcp, żeby instrukcje i schematy zostały aktualne. Zostaw one-shot wyłączony.

Częste pytania

Czy PrivateNote MCP sam wysyła Slack, Discord, WhatsApp albo e-mail?

Nie. Szyfruje lokalnie i zwraca URL plus metadane. Dostawa używa tego, czego już używasz — innego serwera MCP (Gmail, Slack, …) albo Ciebie wklejającego link. Utworzenie notatki nie jest zgodą na wysłanie. sendAuthorized jest true tylko wtedy, gdy w podglądzie zatwierdziłeś dokładnie ten kanał i odbiorcę.

Dlaczego muszę potwierdzić, zanim powstanie link?

Potwierdzenie wiąże dokładne bajty pliku, opcje notatki i cel. Bez tego agent, który ma też narzędzia poczty albo czatu, mógłby w jednej turze zaszyfrować zły plik albo wysłać dobry link złej osobie. Tryb one-shot pomija ten podgląd. Zostaw go wyłączony, zwłaszcza jeśli ten sam host potrafi wysyłać wiadomości albo pliki.

Czy agent widzi odszyfrowywalny URL?

Tak, w obecnym hoście MCP. secureUrl wraca w wyniku narzędzia, żeby narzędzie dostawy mogło go wysłać. Agent nadal nie może widzieć bajtów pliku. Posiadanie URL może otworzyć notatkę — traktuj go jak zdolność na okaziciela, nie jak „model nie ma dostępu do sekretu”.

Czy odbiorca musi coś zainstalować?

Nie. Otwiera pełny link w zwykłej przeglądarce. Konto PrivateNote nie jest potrzebne, żeby odsłonić notatkę. Hasło dostępu albo weryfikacja maila nadal mogą być potrzebne, jeśli włączyłeś te bramki.

Czy mogę załączyć pliki bez logowania?

Nie. Załącznik, lista i unieważnienie, weryfikacja odbiorcy oraz powiadomienia o otwarciu wymagają sign_in. Notatkę tylko tekstową z contentFilePath da się utworzyć bez sesji, w publicznych limitach.

Co jeśli asystent i tak odczyta plik?

Wtedy granica prywatności w tej turze jest już złamana. Instrukcje MCP mówią hostom, żeby tego nie robiły. Jeśli Twój klient je ignoruje, zostań przy rozszerzeniu edytora albo aplikacji webowej i nie wskazuj agentowi pliku. URL, który wyprodukowało rozszerzenie, nadal możesz wysłać.

Czy burn-after-read zatrzymuje zrzuty ekranu?

Nie. Gdy uprawniony odbiorca odszyfruje notatkę, może kopiować, fotografować albo wgrać ponownie. Burn-after-read i wygaśnięcie zmniejszają zaległe kopie w usłudze i w historii czatu. Nie skasują zdalnie tego, co ktoś już uchwycił. Dla dokumentów dostęp do plików tylko do odczytu w Business zmniejsza przypadkowe pobieranie; to nie zakaz fotografowania.

Niech agent wyśle link. Trzymaj plik z dala od modelu.

Zainstaluj privatenote-mcp, wskaż lokalne ścieżki i dalej używaj maila, Slacka, Discorda i WhatsAppa jako kopert — nie jako sejfów. Zostaw one-shot wyłączony, jeśli ten sam host potrafi wysyłać wiadomości albo pliki.

PrivateNote on LaunchNest