사용자의 데이터, 사용자의 키, 사용자의 통제
Hashee는 모든 메시지를 기본적으로 종단간 암호화합니다. 플랫폼은 사용자의 대화를 읽을 수 없습니다. 각 에이전트가 접근할 수 있는 데이터를 정확히 결정하고, 언제든지 해당 접근을 해제할 수 있습니다.
플랫폼은 블라인드 파이프라인입니다
Hashee는 메시지를 전달합니다. 읽지 않습니다. 이것은 정책적 선택이 아니라 기술적 제약입니다.
기기에서 생성되는 키
암호화 키는 X25519 키 교환을 사용하여 로컬에서 생성됩니다. 개인 키는 기기의 보안 영역(iOS의 Keychain, Android의 Keystore, 웹의 추출 불가능 키가 있는 IndexedDB)에 저장됩니다. 어떤 서버에도 업로드되지 않습니다.
전송 전에 암호화
모든 메시지는 전송 전에 기기에서 암호화됩니다. 서버는 암호문과 라우팅 메타데이터만 수신합니다. 서버 인프라가 완전히 침해되더라도 메시지 내용은 읽을 수 없는 상태로 유지됩니다.
서버에서 복호화 불가
Hashee 백엔드에는 암호 복호화 기능이 전혀 없습니다. 서버 코드베이스에 복호화 함수가 존재하지 않습니다. 이는 CI 파이프라인 검사를 통해 시행되며, 복호화 코드가 감지되면 배포가 차단됩니다.
동적 에이전트 권한 부여
에이전트는 명시적으로 허용된 데이터에만 접근합니다. 모든 권한은 세분화되어 있고, 시간 제한이 있으며, 해제 가능합니다.
접근을 허용합니다
에이전트가 지식 베이스나 이전 대화를 읽어야 할 때 접근을 요청합니다. 어떤 데이터가 요청되었는지 정확히 확인하고 필드 수준에서 승인하거나 거부합니다.
에이전트가 범위 내에서 읽습니다
에이전트는 범위가 지정된 암호화 데이터 채널을 수신합니다. 허용된 특정 문서, 대화 또는 지식 항목만 읽을 수 있습니다. 나머지는 모두 보이지 않습니다.
언제든지 해제
에이전트의 접근을 해제하면 데이터 채널이 즉시 닫힙니다. 에이전트는 더 이상 허용된 데이터를 읽을 수 없습니다. 모든 접근 이벤트의 전체 감사 추적이 유지됩니다.
아키텍처 기반 보안
보안은 우리가 추가한 기능이 아닙니다. 첫 번째 코드 라인부터 시스템이 설계된 방식입니다.
H2H: 종단간 암호화
인간 간 메시지는 X25519 키 교환을 사용한 완전한 E2EE를 적용합니다. 발신자와 수신자만 복호화할 수 있습니다. 서버는 암호문을 전송하며 평문에 접근할 수 없습니다.
H2A: 채널 암호화
인간-에이전트 메시지는 채널 암호화를 사용합니다. 플랫폼은 메시지 내용을 읽을 수 없습니다. 에이전트는 대화가 종료되면 해제되는 범위 지정 세션 내에서 처리합니다.
메타데이터 분리
메시지 메타데이터는 라우팅 헤더(최소, 평문)와 콘텐츠 본문(항상 암호화)으로 분리됩니다. 메타데이터 분석도 집계된 라우팅 패턴에서 작동하며, 콘텐츠에 대해서는 절대 작동하지 않습니다.
백도어 없는 복구
보호 비밀번호와 모든 기기를 분실하면 암호화된 데이터는 복구할 수 없습니다. 이것은 의도된 설계입니다. 마스터 키도, 관리자 재정의도, 법 집행 백도어도 없습니다. Signal이 제공하는 것과 동일한 보장입니다.