보안 및 배포

문서는 절대 서버를 떠나지 않습니다

Doconut은 .NET 라이브러리로, 직접 호스팅하는 것이며 업로드하는 문서 서비스가 아닙니다. 파일은 전적으로 귀하의 인프라 내에서 열리고, 렌더링되며 제공됩니다 — 이는 문서 자체가 조직 경계를 넘어설 수 없는 규제 작업에 적합하게 만드는 이유입니다.

0
Doconut에 전송된 문서
100%
귀하의 서버에서 렌더링
오프라인
로컬 .lic 파일을 사용한 라이선스

귀하의 인프라 — 신뢰 경계

  1. 1

    귀하의 애플리케이션

    파일이 이미 존재하는 위치(로컬 디스크, 네트워크 공유, S3, Azure Blob, 데이터베이스 컬럼 등)에서 파일을 읽습니다.

  2. 2

    Doconut 미들웨어

    AddDoconut() 및 UseDoconut()를 사용하여 자체 파이프라인에 등록됩니다. 귀하의 프로세스 내에서, 귀하의 신원으로, 귀하의 네트워크에서 실행됩니다.

  3. 3

    페이지 이미지

    Viewer.OpenDocumentAsync()는 페이지가 매겨진 이미지들을 렌더링하고 불투명한 세션 토큰을 반환합니다. 원본 파일은 브라우저에 전달되지 않습니다.

  4. 4

    브라우저

    JavaScript 위젯은 세션 토큰을 사용해 귀하의 엔드포인트에서 페이지를 요청합니다. 파일 경로나 저장 URL, 원본 바이트를 전혀 보지 못합니다.

렌더링 중 절대 연락되지 않음

  • Doconut 서버
  • 제3자 변환 API
  • 클라우드 OCR 또는 AI 서비스
  • 외부 폰트 또는 자산 CDN

아키텍처

문서가 실제로 이동하는 위치

호스팅된 뷰어 서비스는 파일을 받아서 작동합니다. Doconut은 파일을 절대 받지 않고 작동합니다. 문서는 사용자의 프로세스에 의해 읽히고, 페이지 이미지로 래스터화되며, 브라우저로 스트리밍됩니다 — Doconut은 작업을 수행하는 라이브러리이며, 전송에 관여하는 당사자가 아닙니다.

보안 모델

디자인이 실제로 보장하는 것

구조상 온프레미스

SaaS 모드가 없으며 호스팅된 대체 옵션도 없습니다. Doconut은 참조하는 DLL 형태로 제공됩니다; 서버가 오프라인이어도 렌더링은 계속 작동합니다. 업로드 경로가 없는 것은 아키텍처의 특성이지 누군가가 전환할 수 있는 구성 설정이 아닙니다.

불투명 세션 토큰

OpenDocumentAsync()는 불투명 문자열을 반환하며, 파일 경로나 클라이언트가 조작할 수 있는 식별자가 아닙니다. 브라우저는 문서를 열거하거나 인접 토큰을 추측하거나 토큰을 다른 파일로 재작성할 수 없습니다. 토큰을 비밀로 취급하십시오: 절대 로그에 기록하지 말고 뷰어를 제외하고 클라이언트 측에 영구 저장하지 마세요.

권한 부여는 여러분에게 남아 있습니다

Doconut은 문서를 누가 읽을 수 있는지 결코 결정하지 않습니다. 자체 권한 확인이 통과된 후에만 OpenDocumentAsync()를 호출하므로, 뷰어는 애플리케이션이 이미 적용하고 있는 모든 접근 제어—역할, 테넌시, 레코드 수준 권한—를 그대로 상속받습니다.

문서가 파일 형태로 외부로 나가지 않음

브라우저는 원본 문서가 아니라 렌더링된 페이지 이미지만 받습니다. 계약서를 볼 수 있는 사용자는 원본 DOCX를 쉽게 유출할 수 없으며, 유출된 페이지 이미지에는 원본 파일에 있던 추적 변경 사항, 주석, 숨겨진 열 또는 메타데이터가 포함되지 않습니다.

비밀번호 보호 문서

암호화되고 비밀번호로 보호된 파일은 코드에서 제공한 비밀번호를 사용해 서버 측에서 열립니다. 비밀번호는 귀하의 애플리케이션 내부에서만 프로세스 경계를 넘어 전달되며—클라이언트에게도, 우리에게도 절대 전달되지 않습니다.

오프라인 라이선스

라이선스는 options.LicensePath 또는 Viewer.DoconutLicense(path)를 통해 해결되는 로컬 .lic 파일입니다. 활성화 콜백도 없고 네트워크를 통한 런타임 라이선스 검증도 없으며, 이것이 에어갭 배포를 가능하게 합니다.

규정 준수

규제 환경에 Doconut이 어떻게 맞는가

정직한 프레이밍이 여기서는 로고 벽보다 더 중요합니다. Doconut은 라이브러리이며 서비스 제공자가 아닙니다. 우리는 문서를 받거나 저장하거나 처리하지 않으므로 배포 시 프로세서, 서브 프로세서 또는 비즈니스 파트너가 되지 않습니다. 이는 전체 서류 작업 범주를 제거하지만, 배포에 대한 제어는 여전히 귀하가 운영하고 증명해야 합니다.

HIPAA

보호된 건강 정보가 Doconut에 도달하지 않기 때문에 BAA(비즈니스 연관 계약)로 덮어야 할 비즈니스 연관 관계가 없습니다. 기록과 DICOM 연구는 귀하의 환경 내에서 렌더링됩니다. 보호 조치 자체인 접근 제어, 감사 로그, 저장 및 전송 중 암호화는 귀하의 책임이며 이미 실행 중인 애플리케이션에서 적용됩니다.

GDPR 및 데이터 거주지

개인 데이터는 귀하가 두는 곳에 그대로 남습니다. 뷰어가 도입하는 국가 간 전송이 없으며, 전송 자체가 없기 때문에 문서는 배포한 서버와 동일한 관할 구역에서 읽히고 렌더링됩니다. 거주지는 공급업체와의 협상이 아니라 호스팅 결정이 됩니다.

정부 및 방위

외부 인터넷 접속이 없는 배포는 우회 방법이 아니라 지원되는 구성입니다. DLL과 .lic 파일을 패키징하여 엔클레이브에 설치하면, 뷰어는 라이선스가 적용되는 버전 범위 내에서 무기한 실행됩니다.

우리가 주장하지 않는 것

Doconut은 SOC 2, ISO 27001 또는 HITRUST 인증을 광고하지 않으며, 이를 인증받은 것으로 표시해서는 안 됩니다. 보안 논리는 아키텍처에 기반합니다: 공급업체는 데이터 경로에 전혀 존재하지 않습니다. 감사인이 제어 내러티브가 필요하다면, 그것이 바로 내러티브입니다.

배포

실행 가능한 위치

윈도우 서버

클래식한 대상. IIS 또는 Kestrel, 자체 데이터 센터나 제어하는 클라우드 VM에서.

도커

.NET 8을 지원합니다. 뷰어를 자체 이미지의 일부로 포함하고, 마운트된 비밀을 사용해 라이선스 파일을 레이어에 포함되지 않게 유지합니다.

웹 팜 및 분산

로드 밸런서 뒤의 여러 노드가 렌더 캐시를 공유하므로, 한 노드에서 열린 세션이 다른 노드에서도 읽을 수 있습니다.

에어갭 격리 영역

설치 후 어느 시점에서도 외부 연결이 필요하지 않습니다 — 렌더링, 변환, 라이선싱 모두에 대해.

운영

강화 체크리스트

이것들은 전혀 이색적이지 않습니다. 실제 배포에서 가장 자주 발생하는 몇 가지 문제이며, 일반적으로 문제가 되는 순서대로 나열되었습니다.

  1. 1열기 전에 권한을 부여하세요. 자체 권한 검사가 실행된 후에만 OpenDocumentAsync()를 호출하세요 — 뷰어는 전달된 모든 것을 기꺼이 렌더링합니다.
  2. 2.lic 파일을 소스 제어와 컨테이너 이미지에 포함하지 마세요. 읽기 접근이 제한된 디렉터리에 저장하고 비밀로 마운트하세요.
  3. 3세션 토큰을 절대 로그에 기록하지 마세요. 토큰은 메모리와 뷰어 설정에 있어야 하며, 요청 로그, APM 추적 또는 오류 보고서에 포함되지 않아야 합니다.
  4. 4리소스 엔드포인트의 범위를 지정하세요. UseDoconutResources()는 뷰어 자산을 제공하므로 — 애플리케이션의 나머지와 동일한 인증 뒤에 두고, 파이프라인의 익명 분기에는 두지 마세요.
  5. 5렌더 캐시의 실제 수명을 부여하세요. 캐시된 페이지 이미지들은 민감한 문서의 파생 복사본이므로, 보존 정책에 맞는 일정에 따라 삭제하세요.
  6. 6DLL 버전을 고정하고 라이선스와 함께 보관하세요. 라이선스는 버전 범위에 연결되어 있으며, 두 항목을 함께 보관하는 것이 5년 후에도 배포가 정상적으로 시작된다는 것을 보장합니다.

실제로 받는 보안 질문들

문서가 Doconut에 업로드된 적이 있나요?

아니요. Doconut은 귀하의 애플리케이션 내부에서 실행되는 라이브러리입니다. 업로드 엔드포인트도 없고, 호스팅된 렌더링 계층도 없으며, 문서 내용을 전달하는 텔레메트리 채널도 없습니다. 서버가 인터넷에 연결되지 않아도 뷰어는 정상적으로 렌더링됩니다.

사용자가 뷰어에서 원본 파일을 다운로드할 수 있나요?

뷰어를 통해서는 다운로드할 수 없습니다. 브라우저는 불투명 세션 토큰으로 지정된 렌더링된 페이지 이미지를 받습니다. 다운로드 버튼을 원한다면 직접 구현해야 하며, 이는 원본 파일을 공개하는 결정을 여러분의 코드에서 명시적으로 선택해야 함을 의미합니다.

세션 토큰이 정확히 무엇인가요?

Viewer.OpenDocumentAsync()에서 반환되는 불투명 문자열로, JavaScript 위젯이 페이지를 가져오는 데 사용합니다. 이는 문서 식별자도, 경로도 아니며, 저장하거나 재사용할 대상도 아닙니다. 짧은 수명의 베어러 자격 증명처럼 취급하십시오.

라이선스가 외부에 연락하나요?

아니요. 라이선스는 로컬 .lic 파일을 확인합니다. 활성화 호출도 없고 주기적인 재검증도 없으며, 이것이 바로 에어갭 설치가 가능한 이유입니다.

전혀 인터넷에 연결되지 않은 상태에서도 실행할 수 있나요?

예. 렌더링, 변환 및 라이선스 모두 로컬에서 처리됩니다. 인터넷 연결을 통해 얻을 수 있는 유일한 것은 업데이트를 다운로드하는 것이며, 이는 미디어에 담아 옮길 수도 있습니다.

Doconut은 SOC 2 또는 ISO 27001 인증을 받았나요?

우리는 둘 다 인증받았다고 주장하지 않으며, 제품을 인증된 것으로 표시해서는 안 됩니다. 감사에 중요한 사실은 다르며 보통 더 강력합니다: Doconut은 데이터 경로에 전혀 관여하지 않으므로, 감사자가 평가할 벤더 환경 자체가 존재하지 않습니다.

비밀번호로 보호된 문서는 어떻게 처리되나요?

귀하의 코드는 문서를 열 때 서버 측에서 비밀번호를 제공합니다. 이는 귀하의 프로세스에서 복호화에 사용되며 브라우저나 다른 곳으로 전송되지 않습니다.

자신의 네트워크 안에서 평가해 보세요

임시 라이선스를 요청하고 Doconut을 자체 인프라에서 실행하여 자체 문서와 자체 방화벽 규칙을 적용해 보세요. 이것이 유일하게 효과를 입증하는 평가입니다.

100% 귀하의 서버에서 렌더링