믿지 말고 직접 확인하세요
이 페이지의 모든 주장은 본인의 브라우저에서 직접 확인할 수 있습니다. DevTools를 열고 네 가지 간단한 테스트를 실행하여 플레인텍스트와 키가 절대 네트워크를 통과하지 않음을 확인하세요. 5분이면 충분하고, 설치할 도구도 없습니다.
AES-256-GCM 암호화
모든 시크릿은 NIST SP 800-38D에 규정된 AES-256-GCM을 사용하여 브라우저에서 암호화됩니다 — 전 세계 정부 및 금융 기관이 사용하는 것과 동일한 표준입니다. 데이터가 기기를 떠나기 전에 암호화가 이루어집니다.
키가 브라우저를 절대 떠나지 않습니다
암호화 키는 URL 프래그먼트(# 뒤의 부분)에 배치됩니다. RFC 3986에 따라 URL 프래그먼트는 서버에 절대 전송되지 않습니다 — 브라우저에만 존재합니다. 전체 링크를 가진 사람만 시크릿을 복호화할 수 있습니다.
제로 지식 아키텍처
서버는 암호화된 사이퍼텍스트와 메타데이터(조회 횟수, 만료)만 저장합니다. 데이터를 복호화할 방법이 없습니다 — 키도, 플레인텍스트도 절대 보지 않습니다. 완전한 서버 침해가 발생해도 암호화된 블롭만 얻을 수 있습니다.
선택적 패스프레이즈 보호
추가 보안을 위해 시크릿 생성 시 패스프레이즈를 설정할 수 있습니다. 패스프레이즈는 암호화 키를 래핑합니다 — 누군가 링크를 가로채도 패스프레이즈 없이는 시크릿을 복호화할 수 없습니다. 최대 보호를 위해 다른 채널(전화 통화나 별도 메시지 등)을 통해 패스프레이즈를 공유하세요.
서버가 저장하는 것
암호화된 블롭, 남은 조회 횟수, 만료 타임스탬프. 이것이 전부입니다. IP 로그 없음, 사용자 계정 없음, 시크릿 내용에 대한 분석 없음.
자동 삭제
조회 제한에 도달하거나 만료 시간이 지나면 시크릿이 영구적으로 삭제됩니다. 휴지통도, 백업도, 삭제된 시크릿을 복구하는 방법도 없습니다.
설계에 의한 개방성
암호화 및 복호화 로직은 Web Crypto API를 사용하여 브라우저에서 완전히 실행됩니다. 소스 코드를 검사하고, 암호화 구현을 검증하고, 플레인텍스트가 기기를 절대 떠나지 않음을 확인할 수 있습니다.
Vaulted가 보호하는 것
네트워크 도청
모든 데이터는 전송 전에 브라우저에서 암호화됩니다. 네트워크 트래픽이 가로채지더라도 공격자는 AES-256-GCM 사이퍼텍스트만 볼 수 있습니다 — 암호화 키가 네트워크를 통과하지 않습니다.
서버 침해
Vaulted는 제로 지식 아키텍처를 사용합니다. 서버는 암호화된 사이퍼텍스트와 메타데이터만 저장합니다. 암호화 키나 플레인텍스트를 절대 수신하지 않으므로 완전한 서버 침해도 사용 가능한 것을 얻지 못합니다.
무단 접근
시크릿은 설정 가능한 조회 제한, 자동 만료(TTL), 선택적 패스프레이즈 보호로 보호됩니다. 조회 제한에 도달하거나 TTL이 만료되면 시크릿이 영구적으로 삭제됩니다.
데이터 지속성
시크릿은 소비되거나 만료되면 스토리지에서 자동으로 영구 삭제됩니다. 백업, 휴지통, 복구 메커니즘이 없습니다.
Vaulted가 보호하지 않는 것
침해된 브라우저 또는 기기
멀웨어가 브라우저에 접근할 수 있으면, 시크릿 조회 후 DOM에서 복호화된 내용을 읽을 수 있습니다.
키로거
발신자 또는 수신자의 기기에 있는 키로거가 입력 시 패스프레이즈를 캡처할 수 있습니다.
악성 브라우저 확장 프로그램
DOM에 접근할 수 있는 확장 프로그램이 브라우저에 렌더링된 후 복호화된 시크릿 내용을 읽을 수 있습니다.
수신자의 공유 또는 스크린샷
시크릿이 복호화되면 수신자는 플레인텍스트를 봅니다. DRM이 없습니다 — 복사, 스크린샷 또는 공유할 수 있습니다.
조회 전 링크 가로채기
의도된 수신자가 열기 전에 전체 URL(키가 포함된 프래그먼트 포함)이 가로채지면 시크릿이 침해됩니다.
약한 패스프레이즈
패스프레이즈가 사용되고 약할 경우, 래핑된 키에 접근할 수 있는 공격자가 무차별 대입으로 크래킹할 수 있습니다.
법원 명령 시 제공할 수 있는 것
보안 및 법무팀의 일반적인 질문: 법적 절차에 의해 강제된다면 Vaulted가 실제로 제출할 수 있는 것은 무엇인가요? 솔직한 답변은 "별로 없다"입니다 — 이것은 정책이 아닌 설계에 의한 것입니다. 받은 적 없는 것을 공유할 수 없습니다.
특정 시크릿에 대해 보유하는 것
- AES-256-GCM 사이퍼텍스트, 남은 조회 카운터, TTL 타임스탬프 — Upstash의 Redis 해시로 저장.
- 발신자가 패스프레이즈를 선택한 경우 선택적 래핑 키 솔트.
- 위의 모든 것은 TTL 만료 시 또는 최대 조회수에 도달하면 자동 삭제됩니다. 백업 없음, 아카이브 없음.
절대 저장하거나 로깅하지 않는 것
- 플레인텍스트 내용.
- 암호화 키 — URL 프래그먼트(
#뒤)에만 존재하며, 브라우저는 RFC 3986에 따라 서버에 전송하지 않습니다. - 패스프레이즈(비가역적 솔트만 저장됩니다).
- 수신자 신원, 이메일 또는 기기 지문.
- 요청 본문, 응답 본문 또는 리퍼러.
잠깐 로깅되는 것
- 요청자 IP, IP당 10회 생성/분 및 30회 조회/분을 적용하는 Upstash Ratelimit(슬라이딩 윈도우)에서만 사용됩니다. 속도 제한 윈도우가 요구하는 기간 동안만 보존됩니다.
- Vercel 및 Upstash의 표준 운영 로그(상태 코드, 지연 시간) — 시크릿 내용과 연결되지 않습니다.
유효한 절차에 의해 법 집행 기관이 얻을 수 있는 것
최대: TTL 윈도우 내에 있는 동안의 불투명한 사이퍼텍스트 블롭과 위의 메타데이터. 블롭은 복호화 키 없이는 읽을 수 없습니다 — 우리는 절대 소유한 적이 없고 복구할 방법도 없습니다.
솔직히 제공할 유용한 것이 없습니다.
책임 있는 공개
보안을 진지하게 생각합니다. 취약점을 발견하면 사용자에게 영향을 미치기 전에 해결할 수 있도록 책임감 있게 신고해 주세요.
신고서에 포함할 내용
- 취약점 및 잠재적 영향에 대한 설명
- 문제 재현 단계
- 개념 증명 코드 또는 스크린샷(있는 경우)
범위
- 범위 내: 암호화 구현, 인증 우회, 데이터 노출, 서버 측 취약점
- 범위 외: 소셜 엔지니어링, 서비스 거부, 스팸
48시간 이내에 신고를 확인하는 것을 목표로 합니다.
실제로 작동하는 것을 보고 싶으신가요?
암호화 플레이그라운드를 사용해 보세요 — Vaulted가 사용하는 동일한 AES-256-GCM 암호화의 인터랙티브 데모입니다. 또는 엔드투엔드 암호화 시각적 가이드.