Bezpieczeństwo i wdrożenie

Twoje dokumenty nigdy nie opuszczają Twoich serwerów

Doconut to biblioteka .NET, którą hostujesz samodzielnie, a nie usługa dokumentowa, do której przesyłasz pliki. Pliki są otwierane, renderowane i serwowane w całości w Twojej własnej infrastrukturze — co czyni ją odpowiednią dla regulowanych obciążeń, w których dokument nie może nigdy przekroczyć granicy organizacji.

0
dokumenty wysłane do Doconut
100%
renderowanie na własnych serwerach
Offline
licencjonowanie przy użyciu lokalnego pliku .lic

Twoja infrastruktura — granica zaufania

  1. 1

    Twoja aplikacja

    Odczytuje plik z miejsca, w którym już się znajduje: lokalny dysk, udział sieciowy, S3, Azure Blob, kolumna w bazie danych.

  2. 2

    Pośrednik Doconut

    Zarejestrowany w twoim własnym potoku przy użyciu AddDoconut() i UseDoconut(). Działa w twoim procesie, pod twoją tożsamością, w twojej sieci.

  3. 3

    Obrazy stron

    Viewer.OpenDocumentAsync() renderuje stronicowane obrazy stron i zwraca nieprzejrzysty token sesji. Plik źródłowy nigdy nie jest przekazywany przeglądarce.

  4. 4

    Przeglądarka

    Widżet JavaScript żąda stron przy użyciu tokenu sesji z twojego własnego punktu końcowego. Nigdy nie widzi ścieżki pliku, URL przechowywania ani oryginalnych bajtów.

Nigdy nie kontaktowany podczas renderowania

  • Serwery Doconut
  • Dowolne zewnętrzne API konwersji
  • Dowolna chmurowa usługa OCR lub AI
  • Dowolny zewnętrzny CDN czcionek lub zasobów

Architektura

Gdzie dokument faktycznie trafia

Usługa hostowanego podglądu działa poprzez odbieranie twojego pliku. Doconut działa, nigdy go nie odbierając. Dokument jest odczytywany przez twój własny proces, rasteryzowany do obrazów stron przez twój własny proces i przesyłany strumieniowo do przeglądarki przez twój własny proces — Doconut jest biblioteką wykonującą pracę, a nie stroną w transferze.

Model bezpieczeństwa

Co projekt faktycznie gwarantuje

Na miejscu z założenia

Nie ma trybu SaaS i żadnego hostowanego rozwiązania awaryjnego. Doconut dostarczany jest jako DLL‑y, które referujesz; jeśli Twoje serwery są offline, renderowanie nadal działa. Brak ścieżki do przesyłania jest własnością architektury, a nie ustawieniem konfiguracyjnym, które ktoś może przełączyć.

Nieprzezroczyste tokeny sesji

OpenDocumentAsync() zwraca nieprzezroczysty ciąg, a nie ścieżkę do pliku ani identyfikator, którym klient może manipulować. Przeglądarka nie może wyliczać dokumentów, zgadnąć sąsiedniego tokenu ani przepisac tokenu do innego pliku. Traktuj tokeny jako sekrety: nigdy ich nie loguj i nie przechowuj po stronie klienta poza przeglądarką.

Autoryzacja pozostaje Twoja

Doconut nigdy nie decyduje, kto może czytać dokument. Wywołujesz OpenDocumentAsync() dopiero po przejściu własnej kontroli autoryzacji, więc przeglądarka dziedziczy wszelkie mechanizmy kontroli dostępu, które Twoja aplikacja już egzekwuje — role, najem, uprawnienia na poziomie rekordu, wszystko to.

Żaden dokument nie opuszcza jako plik

Przeglądarka otrzymuje wyrenderowane obrazy stron, a nie dokument źródłowy. Użytkownik, który może przeglądać umowę, nie może w prosty sposób wyeksportować oryginalnego DOCX, a wycieknięty obraz strony nie zawiera śledzonych zmian, komentarzy, ukrytych kolumn ani metadanych, które znajdowały się w pliku źródłowym.

Dokumenty chronione hasłem

Zaszyfrowane i chronione hasłem pliki są otwierane po stronie serwera przy użyciu hasła dostarczonego przez Twój kod. Hasło przechodzi granice procesów wyłącznie wewnątrz Twojej aplikacji — nigdy do klienta, nigdy do nas.

Licencjonowanie offline

Licencjonowanie to lokalny plik .lic rozwiązywany przez options.LicensePath lub Viewer.DoconutLicense(path). Nie ma wywołania zwrotnego aktywacji ani sprawdzania licencji w czasie działania przez sieć, co umożliwia wdrożenie w trybie odizolowanym od sieci.

Zgodność

Jak Doconut pasuje do regulowanego środowiska

Uczciwe ujęcie ma tutaj większe znaczenie niż mnóstwo logotypów. Doconut jest biblioteką, a nie dostawcą usług. Nigdy nie otrzymujemy, nie przechowujemy ani nie przetwarzamy twoich dokumentów, co oznacza, że nie stajemy się procesorem, podprocesorem ani partnerem biznesowym, gdy go wdrażasz. To eliminuje całą kategorię papierkowej roboty — ale kontrola nad wdrożeniem pozostaje po twojej stronie, zarówno w zakresie operacji, jak i dowodów.

HIPAA

Ponieważ chronione informacje zdrowotne nigdy nie docierają do Doconut, nie istnieje relacja partnera biznesowego, którą trzeba by pokryć umową BAA. Rekordy i badania DICOM są renderowane w twoim własnym środowisku. Same zabezpieczenia — kontrola dostępu, rejestrowanie zdarzeń, szyfrowanie w spoczynku i w tranzycie — pozostają twoją odpowiedzialnością, realizowaną w aplikacji, którą już uruchamiasz.

RODO i rezydencja danych

Dane osobowe pozostają tam, gdzie je umieścisz. Przeglądarka nie wprowadza żadnego transferu transgranicznego, ponieważ w ogóle nie ma transferu: dokument jest odczytywany i renderowany w tej samej jurysdykcji, co serwer, na którym został wdrożony. Rezydencja staje się decyzją hostingową, a nie negocjacją z dostawcą.

Rząd i obrona

Wdrożenia bez wychodzącego dostępu do Internetu są wspieraną konfiguracją, a nie obejściem. Spakuj pliki DLL i plik .lic, zainstaluj je w enklawie, a przeglądarka działa nieprzerwanie w zakresie wersji objętych licencją.

Czego nie twierdzimy

Doconut nie reklamuje certyfikacji SOC 2, ISO 27001 ani HITRUST i nie powinieneś przedstawiać go jako certyfikowanego. Argumentacja bezpieczeństwa jest architektoniczna: dostawca nigdy nie znajduje się w ścieżce danych. Jeśli twój audytor potrzebuje narracji kontrolnej, taka jest narracja.

Wdrożenie

Gdzie może działać

Windows Server

Klasyczny cel. IIS lub Kestrel, w własnym centrum danych lub na kontrolowanej przez Ciebie maszynie wirtualnej w chmurze.

Docker

Obsługiwane dla .NET 8. Dostarcz przeglądarkę jako część własnego obrazu i trzymaj pliki licencyjne poza warstwą, używając zamontowanego sekretu.

Farma sieciowa i rozproszona

Wiele węzłów za load balancerem współdzieli pamięć podręczną renderowania, więc sesja otwarta na jednym węźle pozostaje czytelna na innym.

Enklawa odcięta od sieci

Po instalacji nie jest wymagana żadna łączność wychodząca — nie dla renderowania, nie dla konwersji, nie dla licencjonowania.

Operacje

Lista kontrolna zabezpieczeń

Żadne z nich nie są egzotyczne. To garść rzeczy, które najczęściej idą nie tak w rzeczywistym wdrożeniu, w kolejności, w jakiej zwykle sprawiają problemy.

  1. 1Autoryzuj przed otwarciem. Wywołaj OpenDocumentAsync() dopiero po przeprowadzeniu własnej kontroli uprawnień — przeglądarka chętnie wyrenderuje wszystko, co jej przekażesz.
  2. 2Trzymaj plik .lic poza kontrolą wersji i poza obrazem kontenera. Przechowuj go w katalogu z ograniczonym dostępem do odczytu i zamontuj jako sekret.
  3. 3Nigdy nie loguj tokenów sesji. Powinny znajdować się w pamięci i w konfiguracji przeglądarki, a nie w logach żądań, śladach APM ani raportach błędów.
  4. 4Określ zakres punktu końcowego zasobów. UseDoconutResources() udostępnia zasoby przeglądarki — umieść go za tym samym uwierzytelnieniem co resztę aplikacji, a nie w anonimowej gałęzi potoku.
  5. 5Nadaj pamięci podręcznej renderowania rzeczywisty okres życia. Buforowane obrazy stron są pochodnymi kopiami wrażliwych dokumentów; usuwaj je zgodnie z harmonogramem dopasowanym do twojej polityki przechowywania.
  6. 6Zablokuj wersje swoich DLL i archiwizuj je razem z licencją. Licencja jest powiązana z zakresem wersji; trzymanie obu razem zapewnia, że wdrożenie nadal będzie działać za pięć lat.

Pytania dotyczące bezpieczeństwa, które naprawdę nam zadają

Czy dokumenty są kiedykolwiek przesyłane do Doconut?

Nie. Doconut jest biblioteką działającą wewnątrz Twojej aplikacji. Nie ma punktu końcowego do przesyłania, nie ma hostowanej warstwy renderowania i nie ma kanału telemetrycznego przenoszącego zawartość dokumentu. Jeśli Twój serwer nie ma połączenia z internetem, przeglądarka nadal renderuje normalnie.

Czy użytkownik może pobrać oryginalny plik z przeglądarki?

Nie przez przeglądarkę. Przeglądarka otrzymuje renderowane obrazy stron adresowane przez nieprzezroczysty token sesji. Jeśli chcesz przycisk pobierania, musisz go zaimplementować sam — co oznacza, że decyzja o udostępnieniu pliku źródłowego pozostaje wyraźnym wyborem w Twoim własnym kodzie.

Czym dokładnie jest token sesji?

Nieprzezroczysty ciąg zwracany przez Viewer.OpenDocumentAsync(), który widget JavaScript używa do pobierania stron. Nie jest to identyfikator dokumentu, nie jest to ścieżka i nie jest czymś, co można przechowywać lub ponownie używać. Traktuj go jak poświadczenie nosiciela o krótkim czasie życia.

Czy licencja łączy się z serwerem?

Nie. Licencjonowanie odczytuje lokalny plik .lic. Nie ma wywołania aktywacji ani okresowej weryfikacji, co jest dokładnie powodem, dla którego instalacje odizolowane od sieci działają.

Czy może działać całkowicie bez dostępu do internetu?

Tak. Renderowanie, konwersja i licencjonowanie odbywają się lokalnie. Jedyną rzeczą, którą zapewnia połączenie z internetem, jest pobieranie aktualizacji, które możesz równie dobrze przenieść na nośniku.

Czy Doconut jest certyfikowany pod SOC 2 lub ISO 27001?

Nie rościmy sobie żadnego z nich i nie powinieneś przedstawiać produktu jako certyfikowanego. Istotny fakt dla audytu jest inny i zazwyczaj silniejszy: Doconut nigdy nie znajduje się w ścieżce danych, więc nie ma środowiska dostawcy, które audytor mógłby ocenić.

Jak obsługiwane są dokumenty zabezpieczone hasłem?

Twój kod podaje hasło przy otwieraniu dokumentu po stronie serwera. Jest ono używane do odszyfrowania w Twoim własnym procesie i nigdy nie jest przesyłane do przeglądarki ani nigdzie indziej.

Oceń to w swojej własnej sieci

Poproś o tymczasową licencję i uruchom Doconut na własnej infrastrukturze, na własnych dokumentach, z własnymi regułami zapory. To jedyna ocena, która potwierdza tę tezę.

100% renderowanie na własnych serwerach