v1.0.0 + 297 · Production Stable

흔적 없는 메신저.
Solana 지갑 내장.

프라이버시를 원칙으로 삼는 사용자, 그리고 Solana 디지털 자산 커뮤니티 — 두 그룹 모두를 위해 만들었습니다. 스크린샷 차단, 진짜로 사라지는 메시지, 유출 방지 기능의 첨부파일 관리, 그리고 비수탁 지갑, 온체인 마켓플레이스, 수익 공유 채널까지 한 앱 안에서. Signal Protocol 로 암호화하고 키는 디바이스 안에만 두기에, 누구도 메시지를 볼 수 없습니다.

Android 다운로드 어떻게 작동하나요 →
0
서버의 평문
독립 감사
Pure
Dart Signal Protocol
AGPL
클라이언트 오픈소스

갓 내린 눈 위의 발자국은 다음 바람에 자취 없이 사라집니다.
당신의 메시지도, 파일도, 신원의 흔적도 그래야 합니다.

이것이 이름의 의미입니다
🔒 X3DH 키 교환 RFC 표준 준수 🔄 Double Ratchet 메시지별 전방 비밀성 👥 Sender Key (그룹) O(1) 팬아웃 🎭 Sealed Sender 1:1 + 그룹 📞 P2P WebRTC + CallKit 암호화 음성 ◎ Solana 지갑 내장 SLIP-0010 📁 암호화 파일 XSalsa20-Poly1305 ⏱ 사라지는 메시지 버킷 TTL 힌트 🔒 X3DH 키 교환 RFC 표준 준수 🔄 Double Ratchet 메시지별 전방 비밀성 👥 Sender Key (그룹) O(1) 팬아웃 🎭 Sealed Sender 1:1 + 그룹 📞 P2P WebRTC + CallKit 암호화 음성 ◎ Solana 지갑 내장 SLIP-0010 📁 암호화 파일 XSalsa20-Poly1305 ⏱ 사라지는 메시지 버킷 TTL 힌트
사용자 주권은
지켜져야 합니다.

당신이 무료 인터넷 서비스를 이용하고 있다면, 당신이 그 서비스의 상품입니다. 사용자 데이터는 사용자가 통제해야 합니다.

PRIVACY BREACH

당신의 데이터가 서비스 제공자에게 남습니다

주요 채팅 플랫폼은 계속 뚫립니다 — 2024 Discord 해킹, Telegram 메타데이터 협력 사례, 반복되는 클라우드 측 유출. 서버가 당신의 메시지를 읽을 수 있는 한, 결국 누군가는 읽습니다.

SnowChat 의 답 · 사용자의 메시지는 암호화되어 존재하며, 서버는 물론 누구도 읽을 수 없습니다
CREATOR REVOCATION

로열티가 하룻밤에 사라지다

Tensor 는 2024 년에 마켓플레이스에서 창작자 로열티를 제거했습니다 — 단 하나의 플랫폼 결정으로 창작자 경제 전체가 지워졌습니다. 무대의 소유자가 규칙도 소유합니다.

SnowChat 의 답 · 창작자 로열티는 Solana 위에서 강제됩니다. 플랫폼 정책이 아닌 온체인 규칙입니다
COMMUNITY CAPTURE

인질이 된 사용자

남의 채팅 서버 위에 커뮤니티를 만들면 — 플랫폼이 당신을 추방하는 순간 전부 잃습니다. 채널이 자산입니다. 호스트가 그 자산을 압류해선 안 됩니다.

SnowChat 의 답 · 암호화된 채널과 이식 가능한 신원 — 당신의 커뮤니티는 당신과 함께 움직입니다
메신저처럼
생긴 메신저.

암호학 용어를 사용자에게 들이대지 않습니다. 복잡함은 프로토콜 안에 두고, 보이는 건 채팅, 지갑, NFT 마켓플레이스뿐입니다. 아래는 production 빌드에서 수정 없이 캡쳐한 실제 화면입니다.

SnowChat 의 암호화 1:1 채팅 — 스노우플레이크 배경 + 녹색 말풍선
암호화 채팅
두 사람만 읽을 수 있습니다
SnowChat 채널 멤버 목록 — 소유자 왕관 + 모더레이터 방패 + 일반 멤버
커뮤니티
암호화 채널 · 역할 + 수익
SnowChat 의 Solana 지갑 — 잔액 + 받기/보내기/스왑/마켓 + Solana 토큰
Solana 지갑
SLIP-0010 · 비수탁
SnowChat 의 온체인 NFT 마켓플레이스 — Nomos + WarPlane 컬렉션 + List your NFT 버튼
온체인 마켓플레이스
PDA 에스크로 · 창작자 로열티
Signal Protocol,
처음부터 직접 구현.

SnowChat 은 Signal Protocol 을 Pure Dart 로 직접 구현했습니다 — 플랫폼 채널 없음, 불투명한 네이티브 바이너리 없음. 모든 암호학 프리미티브가 검증 가능한 Dart 소스입니다.

🤝

X3DH 키 교환

Extended Triple Diffie-Hellman 으로 새 세션을 부트스트랩합니다. 서버에 등록된 사전 키 (prekey) 가 장기 비밀 키를 노출하지 않은 채 비동기 첫 접촉을 가능하게 합니다.

x25519 · ed25519
🔄

Double Ratchet

모든 메시지가 DH 래칫과 체인 래칫을 동시에 전진시킵니다. 미래 키가 유출돼도 과거 메시지는 복호되지 않고, 과거 키가 유출돼도 미래 메시지는 복호되지 않습니다.

HKDF · HMAC-SHA256
👥

Sender Key (그룹)

그룹 메시지는 한 번 암호화한 뒤 N 명에게 O(1) 로 팬아웃됩니다. SKDM (Sender Key Distribution Message) 이 그룹 메시지와 함께 인라인으로 흘러 키 분배 손실을 막습니다.

Signal Hybrid · 5세대 캐시
🎭

Sealed Sender

1:1 + 그룹 메시지 모두 DB 행에 발신자 식별자를 저장하지 않습니다. HMAC 으로 소유권 검증은 가능하지만, 운영자가 "누가 무엇을 보냈는지" 엿보는 것이 DB 레이어에서 차단됩니다.

senderId = NULL + senderHash
📁

파일 암호화

모든 파일은 업로드 전에 XSalsa20-Poly1305 로 봉인됩니다. 파일명, MIME 타입, 내용 전부 종단간 암호화 페이로드 안에 있고, 서버는 암호문 블롭과 크기만 볼 수 있습니다.

XSalsa20-Poly1305
🗃

암호화된 세션 저장소

로컬 Signal 세션 데이터베이스는 HKDF 로 파생된 키로 봉인되어 flutter_secure_storage (iOS 키체인 / Android Keystore) 안에 있습니다. 평문 폴백은 영구 차단됩니다.

SecretBox · Keychain
🛡
3 회의 독립 보안 감사 통과 (C-1~3, H-1~4, N-1~7)

작은 부분군 (small-subgroup) 공격 방어, 세션 저장소 평문 폴백 제거, AI 프롬프트 주입 강화, Safety Number 검증 포함. 외부 제 3자 감사는 다음 단계로 예정되어 있습니다.

SnowChat 의 프라이버시 설정 — Screenshot Protection 이 Always on 으로 토글된 상태
Defense in depth

스크린샷 차단 — 기본 활성화.

Android 의 FLAG_SECURE 와 iOS 의 백그라운드 스냅샷 차단이 기본으로 켜져 있습니다. 비공개 데이터가 표시되는 모든 화면에서 스크린샷, 화면 녹화, iOS 앱 전환기 썸네일이 모두 검은 화면으로 표시됩니다.

⚠ 다른 카메라로 찍는 우회 사진은 막을 수 없습니다 — 이건 하드웨어의 한계지 소프트웨어의 우회가 아닙니다.
서버가 볼 수 있는 것, 볼 수 없는 것
항목 서버가 아는 것 서버가 모르는 것
텍스트 메시지암호문만 — 복호 불가평문 내용
파일 본문XSalsa20-Poly1305 암호문 블롭원본 파일, 파일명, MIME
파일 복호 키fileKey 는 E2EE 페이로드 안
세션 저장소SecretBox 로 디스크에 봉인
사라지는 메시지 TTL버킷 힌트만 (예: <5m)정밀한 만료 시각
Sealed sender ID (1:1, 그룹)HMAC 소유권 토큰만DB 행의 평문 발신자 userId
그룹 이름암호문 블롭 (Phase 8.8 GMK)평문 그룹 이름
처음부터 흔적이
남지 않도록.

암호학은 시작일 뿐, 끝이 아닙니다. SnowChat 은 사용자 통제 삭제, OS 레벨 캡쳐 차단, 플랫폼 레벨 포렌식 저항을 Signal Protocol 위에 쌓아올립니다 — 기기를 잃어버려도, 스크린샷을 찍으려 해도, 수신자가 파일을 빼내려 해도, 메시지는 사라집니다.

사라지는 메시지

대화방별 TTL (5분, 1시간, 1일, 7일, 커스텀). 양쪽이 같은 시계로 동시 삭제합니다 — 서버는 거친 버킷 힌트만 보고 정밀한 만료 시각은 절대 모릅니다. "사라진다" 는 UI 에서 숨겨지는 것이 아니라 디스크에서 진짜 지워지는 것입니다.

버킷 TTL · 양측 동기 삭제
📎

잠긴 첨부파일

사라지는 대화방에서 보낸 파일은 다운로드, 갤러리 저장, 공유, 전달이 모두 불가능합니다. 뷰어는 SnowChat 프로세스 안에서 렌더링하고 TTL 만료 시 복호한 데이터를 즉시 삭제합니다. PDF 도 외부 앱이 아닌 인앱 PDFKit 뷰어로 봅니다.

인앱 뷰어 · 저장/공유 차단
🚫

스크린샷 차단

기본 활성화. Android FLAG_SECURE 가 수동 스크린샷과 최근 앱 썸네일 둘 다 차단합니다. iOS 의 백그라운드 스냅샷 차단이 앱 전환기에서 채팅을 검은 화면으로 렌더링합니다. 설정 화면에서도 사용자에게 표시 — 숨겨진 토글 없음.

FLAG_SECURE · iOS 스냅샷 차단
🎭

Sealed Sender

서버는 발신자 식별자를 행 레벨에 저장하지 않습니다. senderId = NULL, 소유권은 HMAC 으로 검증합니다. 운영자가 "누가 무엇을 보냈는지" 엿보는 것이 DB 레이어에서 차단됩니다. 완전한 포렌식 delivery-token 전환은 로드맵에 있습니다.

senderId NULL · HMAC 소유권
🔑

복구 문구만 사용

전화번호 없음, 이메일 없음, PII 없음. 당신의 신원은 로컬에서 파생된 BIP-39 24 단어입니다 — 어떤 기기에서도 복원 가능하고 어떤 계정 디렉토리에서도 추적 불가능합니다. 영장이 와도 서버가 넘길 자료가 없습니다.

BIP-39 · 24 단어 · PII 제로

클라우드 백업 없음

Android allowBackup="false"fullBackupContent="false" 로 Google Drive 백업을 완전히 차단합니다. iOS 키체인 항목은 동기화 불가로 표시. 기기를 잃으면 메시지를 잃습니다. 복구 문구를 잃으면 지갑을 잃습니다. 다른 사람의 서버 어디에도 사본이 없습니다.

Android 백업 off · iOS 키체인 로컬
멤버가 직접 소유하는
커뮤니티.

SnowChat 의 채널은 단순한 그룹 채팅이 아니라 — 만들고, 운영하고, 수익까지 거두는 커뮤니티입니다. 멤버들은 Sender Key 그룹 암호화로 모이고 (O(1) 팬아웃, 서버는 암호문만 봄), 암호학적으로 서명된 역할로 운영하며 (플랫폼이 임의로 부여하거나 회수 불가), 온체인 마켓플레이스 수익을 함께 나눕니다 (수수료 50% 가 채널로 환원). 플랫폼은 중계자일 뿐이고, 키는 멤버에게 있습니다.

📣

Sender Key 팬아웃

그룹 메시지를 한 번만 암호화하면 서버가 N 명에게 O(1) 로 배달합니다. Signal Hybrid 패턴이 새 멤버 가입 중 키 분배 손실을 막기 위해 SKDM (Sender Key Distribution Message) 을 인라인으로 함께 보냅니다.

Sender Key · SKDM 인라인
🔐

암호화된 그룹 이름

그룹의 표시 이름은 멤버들끼리만 공유하는 Group Metadata Key (GMK) 로 봉인됩니다. 서버는 암호문 블롭만 저장 — 운영자는 encryptedName: xKj9... 를 볼 뿐 "TEST CHANNEL" 같은 평문은 보지 못합니다.

Phase 8.8 · GMK 회전
👑

역할 기반 권한

소유자, 모더레이터, 멤버. 역할 전환은 기존 소유자의 서명으로 발행되고 암호학적으로 강제됩니다 — 서버는 역할을 부여하거나 회수할 수 없고 단지 서명된 전환을 중계할 뿐입니다. 모더레이션 권한은 호스트가 아닌 커뮤니티에 있습니다.

Ed25519 서명 역할

수익 공유 내장

NFT 매물을 호스팅하는 채널은 마켓플레이스 수수료의 50% 를 가져갑니다 — 플랫폼 정책이 아니라 온체인 PDA 프로그램으로 분배됩니다. 플랫폼 소유자가 바뀌어도 살아남는 창작자 경제 — 규칙이 Solana 위에 있기 때문입니다.

PDA 수수료 분배 · 50/50
메신저 안에 들어있는
진짜 지갑.

SnowChat 은 복구 문구에서 SLIP-0010 으로 파생된 비수탁 Solana 지갑을 함께 제공합니다 — 하드웨어 지갑이 사용하는 것과 같은 계층적 결정성 (HD) 표준입니다. 송금, 수신, 거래 모두 채팅 안에서 처리합니다.

1:1 송금

SOL 이나 SPL 토큰을 채팅 안에서 바로 보냅니다. 트랜잭션은 로컬에서 서명되며 — 서버는 비밀 키를 본 적이 없습니다.

SLIP-0010 · BigInt lamports
🏪

온체인 마켓플레이스

NFT 등록과 거래가 PDA 기반 온체인 프로그램으로 정산됩니다 (Tensor 스타일 escrow → PDA 리팩터링). 오프체인 수탁자 없음 — 프로토콜 자체가 스왑을 강제합니다.

Solana PDA · Anchor
🎨

커뮤니티 수수료 공유

마켓플레이스 수수료의 50% 가 매물을 호스팅한 커뮤니티 채널로 돌아갑니다. 플랫폼이 폐지할 수 있는 정책이 아니라 프로그램에 박힌 규칙입니다.

온체인 규칙 · 50/50 분배
🔑

복구 문구만으로 신원

전화번호 없음, 이메일 없음, PII 없음. 당신의 신원은 24 단어 복구 문구입니다 — 어떤 기기에서도 복원 가능하고 어떤 계정 디렉토리에서도 추적 불가능합니다.

BIP-39 · 24 단어
P2P 기반 통화,
종단간 암호화.

음성 통화는 WebRTC peer-to-peer 와 네이티브 CallKit (iOS) / ConnectionService (Android) 통합으로 동작합니다. 시그널링은 봉인된 ephemeral 채널을 사용하고, 오디오 스트림은 기기 간 SRTP 입니다. Cloudflare TURN 릴레이는 폴백 전용입니다.

📞

네이티브 CallKit 통합

iOS 의 PushKit + CallKit 으로 화면이 잠긴 상태에서도 시스템 UI 를 통해 수신 벨이 울립니다. Android 에서는 Self-Managed Telecom ConnectionService 가 키가드를 우회해 동일한 경험을 제공합니다.

🔐

봉인된 시그널링

통화 초대, 응답, ICE 후보가 모두 메시지와 동일한 Sealed Sender 봉투를 통해 흐릅니다. 서버는 DB 행 레벨에서 누가 누구에게 거는지 보지 못합니다.

🎙

음성 메시지

탭 한 번에 WAV (PCM 16 kHz) 로 녹음되고 텍스트 / 파일과 같은 방식으로 종단간 암호화됩니다. 채팅 안에서 바로 재생되고, 사라지는 음성에는 TTL 카운트다운이 표시됩니다.

조직의 서버,
조직의 SnowChat.

SnowChat 은 단일 Docker Compose 스택 — 서버, Postgres, Redis 로 출하됩니다. 조직 경계 안에 배포하면 메신저가 그 경계를 벗어나지 않습니다. 정부 기관, 규제 산업, 보안 의식이 높은 기업 — 데이터는 조직의 하드웨어 위에서, 조직의 감사 아래에서, 조직의 브랜드로 살아갑니다.

🏛

조직의 서버, 조직의 데이터

전체 SnowChat 스택을 조직의 Docker / Kubernetes / 베어메탈 위에 배포합니다. 서버, Postgres, Redis 모두 조직 네트워크 안에 격리. 어떤 데이터도 조직 경계 밖으로 나가지 않습니다. air-gapped 환경도 지원합니다.

Docker Compose · K8s manifest 제공
🎨

화이트 라벨 브랜딩

도메인, 로고, 앱 아이콘, 인앱 문구, 앱 스토어 등록까지. SnowChat 을 조직의 공식 메신저로 리브랜드합니다. AGPL-3.0 클라이언트를 포크해서 직접 출시하거나, 빌드 파이프라인까지 저희가 운영해드립니다.

맞춤 도메인 · 맞춤 빌드
📋

감사 + 컴플라이언스 대응

전체 소스 접근 (클라이언트는 AGPL-3.0 으로 GitHub 에 이미 공개, 서버는 온프레미스용 별도 라이선스). 내부 감사 문서, 보안 검토 지원, 맞춤 SLA 제공. 내부 암호학 감사는 이미 3 회 통과한 상태.

소스 공개 · 맞춤 SLA
조직 도입 문의
SnowChat 을
폰에 설치.

Android: APK 직접 다운로드 (V1 production 서명). iOS: TestFlight 베타 — 공개 TestFlight 준비 중이므로 그동안은 이메일로 액세스 요청.

Android
사용 가능
v1.0.0+297 · arm64-v8a · versionCode 2297 · ~82 MB

APK 직접 설치. 모던 Android (Galaxy S10+, Pixel 3+, 동급). 소스 브라우저에 대해 "출처를 알 수 없는 앱 설치 허용" 필요. V1 production 키스토어로 서명 — 이전 V1 빌드에서 자연 업그레이드 설치, 그 이전 키로 서명된 빌드는 먼저 제거 필요.

GitHub Releases 에서 호스팅 · SHA-256 · 0539e57442aa23be011c5f4c2014be6e99930c4746b0a56598d0c68242cd52a1
iOS
TestFlight · 초대제
v1.0.0+297 · iPhone · TestFlight 베타

공개 TestFlight 는 준비 중입니다. 지금 비공개 베타에 들어오려면 아래 이메일로 연락 주세요 — 테스터로 추가할 Apple ID (이메일) 를 함께 적어주시면 됩니다. 초대는 보통 24시간 이내 발송됩니다.

아이폰 — TestFlight 로 설치

5단계

✓ TestFlight 은 앱이 정식 출시되기 전에 미리 써보게 해주는 Apple 공식 앱입니다. 무료이고 안전합니다.

1
App Store 에서 TestFlight(파란 종이비행기 아이콘, Apple 제작)을 설치합니다. 무료예요.
2
아이폰에서 받은 초대 이메일을 열고 "TestFlight 에서 보기"(또는 "테스트 시작")를 누릅니다.
3
TestFlight 가 열리면 SnowChat 옆의 설치(INSTALL) 를 누릅니다.
4
이제 SnowChat 이 일반 앱처럼 홈 화면에 생깁니다. 눌러서 실행하세요.
5
새 버전이 나오면 TestFlight 를 열고 업데이트(UPDATE) 를 누르면 됩니다.
이메일이 안 왔나요? 스팸함을 확인하고, 아이폰에서 실제로 쓰는 Apple ID 이메일을 보내주셨는지 확인해 주세요.

안드로이드 — APK 직접 설치

3단계

✓ V1 production 키로 서명되어 있습니다. 기존 사용자는 그 자리에서 업그레이드 — 데이터 손실 없습니다.

1
위의 APK 다운로드 를 눌러 폰에 저장합니다.
2
물어보면 브라우저에 출처를 알 수 없는 앱 설치 를 허용합니다 — 안드로이드가 설정 화면으로 바로 안내해 줍니다.
3
받은 파일을 열고 설치 를 누르면 끝입니다.
참고: 예전 SnowChat 이 다른 키로 서명돼 있으면 먼저 삭제한 뒤 설치하세요.

한 번 써보세요.
불편한 점은 언제든지 알려주세요.

Email