투명성 선언문

버전 5.0 — 2026년 3월 15일

이 문서는 Solo2가 사용자에 대해 어떤 정보를 가지고 있는지, 언제 수집하는지, 왜, 어디에 있는지, 얼마나 오래 보관하는지, 어떻게 보호하는지를 정확히 설명합니다. 작은 글씨 없음. 예외 없음.

기본 원칙

Solo2 서버는 완전히 눈이 멀었습니다. No sabe con quién hablas, qué dices, ni qué archivos compartes. Ni siquiera las señales técnicas que establecen la conexión entre dispositivos son legibles para el servidor — viajan cifradas de extremo a extremo.

메시지는 기기 간 직접 이동하며, 종단간 암호화됩니다. 대화 기록은 브라우저에 암호화되어 저장되며, 서버에는 절대 저장되지 않습니다.

암호화 키는 매 메시지마다 자동으로 교체됩니다. 모든 메시지는 즉시 폐기되는 고유한 키로 암호화됩니다. 이것은 기술적으로 Double Ratchet, y significa que incluso si alguien obtuviese una clave, solo podría leer un único mensaje — no la conversación. Además, la seguridad se restaura automáticamente tras cada turno de comunicación: una clave comprometida se vuelve inútil en cuanto se intercambia el siguiente mensaje.

기기 간 직접 연결이 불가능한 경우(예: 네트워크 제한), 미러 서버(기술적으로 TURN이라 함)를 사용합니다: 데이터가 한 기기에서 다른 기기로 반사되지만, 미러는 반사하는 내용을 인식하지 못합니다 — 모든 것이 종단간 암호화되어 이동하며 서버는 읽을 수 없습니다. 또한, 모든 패킷은 균일한 크기로 패딩되어 관찰자가 트래픽의 크기나 빈도를 분석하여 정보를 추론하는 것을 방지합니다.

애플리케이션에서 사용 중인 연결 유형을 항상 확인할 수 있습니다 — directa o a través del servidor espejo — y actuar en consecuencia.

마스터 키는 256비트의 실제 엔트로피로 무작위 생성됩니다 — Bitcoin과 동일한 수준입니다. Al crear tu cuenta, Solo2 genera una clave única que se representa como 24 palabras. Tu contraseña protege el acceso al servicio. Tus 24 palabras son la llave de tus datos. Son dos llaves diferentes para dos puertas diferentes.

서버가 사라져도 데이터는 살아남습니다. 24개 단어로 서버 연결 없이 로컬 금고에 접근할 수 있습니다. 데이터는 진정으로 사용자의 것입니다.

1. 서버에 있는 데이터

1.1 사용자 계정

사용자 기록에 존재하는 모든 필드입니다. 이 외에는 아무것도 없습니다.

데이터 사유 보호 기간
사용자 이름 로그인을 위해 일반 텍스트 (설계상 공개) 계정을 삭제할 때까지
비밀번호 인증 Argon2id로 보호 (OWASP 권장, 특수 하드웨어 공격에 내성). 실제 비밀번호는 절대 저장하지 않습니다, solo una huella matemática irreversible 계정을 삭제할 때까지
공개 이름 연락처가 사용자를 알아볼 수 있도록 일반 텍스트 (사용자가 선택) 변경하거나 계정을 삭제할 때까지
연결 코드 Solo2 내 사용자의 주소 — 전화번호와 같습니다. 누군가가 사용자를 찾고 연결 요청을 보낼 수 있도록 공유하는 것입니다 일반 텍스트, 고유 (~10자) 계정을 삭제할 때까지
공개 키 전송되는 데이터를 암호화하기 위해 애플리케이션이 자동으로 사용하는 암호화 문자열. 직접 사용하는 사람은 없습니다 — 애플리케이션이 처리합니다. 연결 코드는 사용자를 찾기 위한 것이고, 공개 키는 암호화를 위한 것입니다 공개 키 (44자). 위험 없이 공개 가능 — 브라우저에 있는 개인 키만이 복호화 가능 계정을 삭제할 때까지
경제적 잔액 계정에 추가한 금액 숫자 (센트 단위) 계정을 삭제할 때까지
보너스 잔액 받은 보너스 (초대, 프로모션, 선물). 경제적 잔액보다 먼저 소비됩니다 숫자 (센트 단위) 계정을 삭제할 때까지
계정 유형 현재 플랜 (체험, 표준, 골드, 플래티넘) 텍스트 변경되거나 계정을 삭제할 때까지
체험 종료일 무료 체험 기간 종료 시점 날짜 계정을 삭제할 때까지
가입 날짜 및 시간 계정 생성 시점 전체 날짜 및 시간 (타임스탬프) 영구
마지막 활동 마지막으로 애플리케이션을 사용한 시점 날짜 및 시간 사용할 때마다 업데이트
내부 식별자 시스템이 내부적으로 사용자를 참조하는 데 사용하는 코드 불투명한 ID, 시스템 외부에서는 의미 없음 계정을 삭제할 때까지
보안 버전 비밀번호 보호 알고리즘의 어떤 버전이 사용되었는지 내부 번호 계정을 삭제할 때까지
상태 표시기 기술 플래그 (잔액 변경 여부, 최대 보안 모드 활성화 여부) 1바이트 — 글자 하나에 해당합니다. 그 이상은 들어갈 수 없습니다 계정을 삭제할 때까지

데이터 양에 대해 감을 잡으실 수 있도록: 사용자 기록은 약 250자의 고정 데이터(식별자, 날짜, 키, 잔액)와 선택한 이름의 길이만큼 차지합니다. 비밀번호는 영향을 미치지 않습니다: 항상 고정 크기의 해시로 저장됩니다. 예를 들어, 사용자 이름이 「홍길동」이고 공개 이름이 「홍길동님」이면, 서버에서 차지하는 전체 용량은 약 264자 — 이 문단보다 적습니다.

1.2 활성 세션

데이터사유보호기간
세션 토큰 로그인 상태 유지 비가역적 해시(핑거프린트)만 저장하며, 원본 토큰은 저장하지 않습니다 24시간 máximo, luego se borra automáticamente
마지막 활동 날짜 비활성 세션 만료 날짜 및 시간 세션과 함께 삭제

1.3 연결 요청

데이터사유보호기간
요청자 ID 누가 요청을 보냈는지 확인 내부 ID 3일 máximo. Si no se responde, se elimina automáticamente
수신자 ID 누구에게 보내는지 확인 내부 ID 요청자와 동일
상태 대기 중 / 수락됨 / 거절됨 텍스트 처리되거나 만료 시 삭제

중요 참고: Una vez aceptada la vinculación, el servidor no guarda la relación. Tu lista de contactos existe solo en tu navegador, cifrada.

1.4 초대

데이터사유보호기간
초대 코드 누군가를 초대하기 위한 일회용 링크 랜덤 토큰 사용되거나 만료될 때까지 (30일)
발신자 ID 누가 초대했는지 확인 내부 ID 영구 (회계)
선물 금액 초대와 함께 선물한 잔액 숫자 영구 (회계)

1.5 푸시 구독 (알림)

데이터사유보호기간
알림 주소 브라우저에 알림 전송 브라우저 제공업체(Google, Mozilla 또는 Apple)의 URL 알림을 비활성화하거나 계정을 삭제할 때까지
푸시 암호화 키 브라우저만 읽을 수 있도록 알림 암호화 Web Push 표준 주소와 동일

1.6 피드백 (지원)

데이터사유보호기간
메시지 도움을 드리기 위해 일반 텍스트 처리할 때까지
사용자 ID 누가 도움이 필요한지 확인 내부 ID 메시지와 동일

1.7 연결 시그널링 (임시)

두 기기가 직접 연결되려면, 연결 설정을 위한 기술 신호(WebRTC 프로토콜)를 교환해야 합니다. 이 신호는 서버를 통해 짧은 시간 전달되지만, 종단간 암호화됩니다 — el servidor solo transporta un bloque opaco que no puede descifrar.

데이터사유보호기간
연결 신호 기기 간 직접 연결 설정 수신자의 공개 키로 종단간 암호화됨. 서버는 읽거나 수정할 수 없습니다 60초 máximo, luego se borran. En memoria, nunca en disco

1.8 미러 서버 (TURN 릴레이)

직접 연결이 불가능한 경우, 미러 서버를 사용합니다: 데이터가 거울을 통과하는 빛처럼 통과합니다 — 한쪽에서 다른 쪽으로 반사되지만, 거울은 반사하는 내용을 인식하지 못합니다. 모든 패킷은 균일한 크기로 패딩되어 관찰자가 메시지와 단순한 연결 하트비트를 구별할 수 없게 합니다.

데이터사유보호기간
접근 자격 증명 미러 서버 인증 신원이 비가역적 해시로 변환됩니다 — 미러 서버는 사용자가 누구인지 모릅니다 24시간, luego se regenera

1.9 처리된 결제

결제는 익명성과 실제로 마찰이 있는 유일한 지점입니다. 이에 대해 솔직하게 말씀드리겠습니다.

Solo2에 가입하면 사용자 이름(가명 가능), 비밀번호, 공개 이름(역시 가명 가능)을 선택합니다. 어떤 데이터도 실제 인물과 연결되지 않습니다. 그러나 카드로 결제하면, 금융 기관은 사용자가 누구인지 알고 있습니다.

결제 게이트웨이로부터 저희가 받는 것은 확인과 금액뿐입니다. 카드 명의자의 이름, 카드 번호, 신분증 또는 결제자의 개인 데이터를 받거나 저장하지 않습니다. 소액이므로 법적으로 매점에서 사탕을 사는 현금 영수증과 동등합니다: 매점 주인은 결제하는 사람의 신분증을 기록하지 않습니다.

또한, 결제 기록은 의도적으로 연결 해제되어 de tu cuenta de usuario. No existe ningún campo en nuestra base de datos que cruce un ticket de cobro con una cuenta concreta.

데이터사유보호기간
결제 기록 회계 및 세금 의무 확인 + 금액. 결제자의 개인 데이터 없음. 어떤 사용자 계정과도 연결 없음 영구 (법적 의무)

최악의 시나리오에 대해: Incluso con una orden judicial, la cadena de rastreo sería: tu tarjeta → tu banco → la pasarela de pago → nuestro ticket de cobro. Pero nuestro ticket no contiene ningún identificador de usuario. No es un descuido: es una decisión de diseño. No existe ningún campo ni índice en nuestra base de datos que relacione un pago con una cuenta. La única vía teórica sería una correlación temporal — si fueses el único pago en un periodo dado — pero incluso en ese caso extremo, la cuenta no contiene información que identifique a la persona real: el nombre de usuario y el nombre público pueden ser totalmente inventados.

저희의 모든 수입은 합법적이며 결제 게이트웨이를 통해 기록됩니다. 해당 세금을 납부합니다. 그러나 고객의 익명성은 저희 측에서 완전합니다.

2. 서버에 없는 데이터

이것이 저희를 정의합니다. Solo2 서버는 다음을 저장하지 않으며 접근할 수 없습니다:

  • 메시지 — Viajan directamente entre dispositivos, cifrados de extremo a extremo. El servidor nunca los ve.
  • 파일 — Igual que los mensajes: directos y cifrados.
  • 연락처 목록 — Existe solo en tu navegador, cifrada en La Bóveda.
  • 채팅 기록 — Solo en tu navegador, cifrado.
  • 위치 — Los GeoSellos se calculan en tu dispositivo y se envían directamente al destinatario. El servidor nunca los procesa.
  • 사용 분석 — La aplicación Solo2 no tiene ningún sistema de analíticas, ni cookies de seguimiento, ni scripts de terceros.
  • 기기 데이터 — No recogemos modelo, resolución, sistema operativo, ni ninguna característica de tu dispositivo.
  • 통신 메타데이터 — No sabemos con quién hablas, cuándo, con qué frecuencia, ni durante cuánto tiempo.

IP 주소에 대해

IP 주소를 기록하지 않습니다. 애플리케이션도 웹 서버도 로그에 IP 주소를 저장하지 않습니다. IP가 포함될 수 있는 연결 신호는 종단간 암호화되어 있어 — 서버는 읽을 수 없습니다.

3. 브라우저의 데이터 (금고)

아래 모든 것은 사용자의 브라우저에만 존재합니다, cifrado con AES-256-GCM (un estándar de cifrado de grado militar utilizado por gobiernos y entidades financieras). La clave se genera a partir de tu contraseña mediante Argon2id (el algoritmo más resistente disponible contra ataques con hardware especializado), y este proceso ocurre enteramente dentro de tu navegador. Tu contraseña nunca se envía al servidor.

데이터는 저장 상태에서 암호화됩니다 — 누군가 브라우저 저장소에 접근하더라도 비밀번호 없이는 읽을 수 없는 암호화된 블록만 발견합니다.

백업을 내보낼 때, 동일한 보호(Argon2id + AES-256-GCM)로 암호화됩니다. 비밀번호를 아는 사람만 복호화할 수 있습니다.

데이터 암호화 제어
메시지AES-256-GCM삭제 시점은 사용자가 결정
파일AES-256-GCM삭제 시점은 사용자가 결정
연락처 (페어)AES-256-GCM연결할 대상은 사용자가 결정
확인 상태AES-256-GCM각 연락처의 신원은 사용자가 직접 확인
검색 인덱스비가역 토큰(HMAC)으로 암호화메시지에서 재구성
전달 상태AES-256-GCM어떤 메시지가 전달되었는지
대기 중인 메시지AES-256-GCM연결이 없을 때의 전송 대기열

브라우저 임시 저장소

데이터 유형 기간 사유
사용자 세션 브라우저 로컬 메모리 (localStorage) 로그아웃할 때까지 로그인 유지
앱 버전 브라우저 로컬 메모리 (localStorage) 영구 업데이트 감지
테마 설정 브라우저 로컬 메모리 (localStorage) 영구 비주얼 테마 기억
언어 설정 브라우저 로컬 메모리 (localStorage) 영구 언어 기억
비밀번호 (최대 보안 모드) 탭 메모리 (sessionStorage) 탭을 닫으면 사라집니다 페이지 새로고침 시 암호화 재초기화

브라우저 보안에 대한 참고사항

Solo2는 웹 브라우저 내에서 실행됩니다. 저장 상태의 암호화된 데이터는 보호되지만, 애플리케이션이 열려 있고 복호화된 메시지가 화면에 표시될 때 보안은 사용자의 환경에도 달려 있습니다:

  • 브라우저 확장 프로그램: Una extensión maliciosa con acceso a las páginas que visitas podría, en teoría, leer lo que se muestra en pantalla. Recomendamos utilizar el menor número posible de extensiones y solo de fuentes de confianza.
  • 클린 브라우저: Un navegador actualizado y sin extensiones innecesarias es tu mejor aliado.
  • 네이티브 애플리케이션: En el futuro, ofreceremos una aplicación de escritorio (Windows, Mac, Linux) que proporcionará un nivel adicional de aislamiento al no depender del entorno del navegador.

4. 네트워크 연결

Solo2 애플리케이션

도메인 사유 전송되는 데이터
solo2.net애플리케이션 API인증, 시그널링, 프레즌스
pay.menzuri.com결제 게이트웨이결제 시에만

다른 어떤 도메인도 없습니다. Ningún script externo. Ningún CDN de seguimiento. La política de seguridad de contenido (CSP) del servidor lo impone técnicamente: cualquier intento de cargar recursos de otros dominios es bloqueado por el navegador.

기기의 공용 IP 주소를 확인하는 것조차(사용자 간 직접 연결 설정에 필요) 자체 서버를 사용합니다(기술적으로 STUN이라 함). 외부 서비스에 위임하지 않습니다. 저희가 직접 관리합니다.

소개 페이지

소개 페이지(solo2.net/info) — 애플리케이션과 독립적 — 는 독일에 위치한 자체 서버에 호스팅된 익명 측정 시스템을 사용합니다:

도메인 사유 전송되는 데이터
stats.menzuri.com익명 방문 측정방문 페이지 (쿠키 없음, IP 없음, 식별 없음)

이 시스템은 쿠키를 설치하지 않고, IP 주소를 기록하지 않으며, 사용자를 식별하지 않고, 방문 간 추적하지 않으며, 제3자와 데이터를 공유하지 않습니다. Solo2 애플리케이션에는 이 시스템이나 다른 어떤 종류의 분석 도구도 없습니다.

5. 데이터 삭제

두 가지 다른 작업이 있으며, 그 차이를 아는 것이 중요합니다:

로컬 데이터 삭제

애플리케이션 설정에서 두 가지 로컬 삭제 옵션이 있습니다:

  • 내 데이터 삭제 — Elimina solo tus datos (identidad, bóveda, sesión) sin afectar a otros usuarios que usen el mismo navegador.
  • 비상 리셋 — Borra absolutamente todo: datos de todos los usuarios, Service Worker, caché y claves criptográficas. Requiere doble confirmación.

두 경우 모두, 서버의 계정은 계속 존재합니다. Puedes volver a iniciar sesión, pero tus datos locales se habrán perdido irreversiblemente. Al hacerlo, se genera una identidad criptográfica completamente nueva: quien tuviese tu clave pública anterior ya no puede cifrar nada para ti. Si un contacto anterior quiere reconectarse, deberá solicitarte vinculación de nuevo, y tú decides si la aceptas o no.

기기 간 자동 복구

한 기기에서 데이터를 잃고 다른 기기가 연결되어 있으면, Solo2가 상황을 감지하고 신원과 금고를 자동으로 복원할 것을 제안합니다. 복원은 기기 간 직접 연결로 암호화되어(Argon2id) 전달됩니다 — 서버를 거치지 않습니다.

서버에서 계정 삭제

  1. 모든 las filas en la base de datos asociadas a tu ID: cuenta, sesiones, solicitudes, invitaciones, suscripciones push, feedback.
  2. 삭제는 원자적입니다 (todo o nada): o se borra todo o no se borra nada.
  3. 결제 기록은 의도적으로 연결 해제된 상태로 de tu identidad — existen por obligación legal, pero no se puede trazar un pago a tu persona.
  4. 서버 로그의 식별자는 비가역적 해시입니다: 계정이 삭제되면 로그를 계정에 연결할 수 없습니다.
  5. 브라우저의 금고는 이 작업으로 자동 삭제되지 않습니다(브라우저에 접근할 수 없음). 삭제하려면 먼저 핵 삭제를 실행하거나 브라우저에서 사이트 데이터를 지우세요.

5b. 마스터 키와 24개 단어

Solo2에서 계정을 생성하면 256비트의 실제 엔트로피를 가진 마스터 키가 생성됩니다(Bitcoin과 동일). 이 키는 사용자만 아는 24개 단어로 표현됩니다. 비밀번호가 이 키를 래핑하여 서버에 암호화된 상태로 저장합니다 — 서버는 읽을 수 없습니다.

이는 두 개의 독립적인 키를 가진다는 의미입니다: tu contraseña (para conectar al servidor y recuperar tu clave envuelta) y tus 24 palabras (para acceder directamente a tus datos sin servidor). Si pierdes una, la otra te protege. Si pierdes ambas, tus datos son irrecuperables — como en Bitcoin.

정확한 알고리즘 (검증 가능)

생성: CSPRNG del sistema operativo (crypto.getRandomValues, 256 bits). Cifrado de la clave maestra: Argon2id (OWASP) para derivar la clave de envoltorio + AES-256-GCM (cifrado autenticado) para protegerla. Identidad: Ed25519 (firma) + X25519 (intercambio). Mensajes: Double Ratchet con ChaCha20-Poly1305. Al cerrar la pestaña del navegador, todos los datos sensibles desaparecen de la memoria.

마스터 키를 보호하는 방법

계층 내용 위치
비밀번호 서버 접근. 마스터 키를 래핑 사용자의 기억 속 + 서버의 해시
기기 비밀 설치 시 자동 생성되는 보이지 않는 두 번째 인증 요소 기기 내 (추출 불가)
마스터 키 (24개 단어) 256비트의 실제 엔트로피, 무작위 생성. Bitcoin 수준 (BIP39) 사용자가 보관하는 종이 + 서버에 래핑된 상태
키 교체 모든 메시지는 사용 후 파기되는 고유한 키를 사용 (Double Ratchet) 자동, 투명하게

비밀번호를 변경하면

비밀번호 변경은 즉각적입니다. 마스터 키만 새 비밀번호로 다시 래핑됩니다 — 신원은 변하지 않고, 금고는 다시 암호화되지 않으며, 연락처에 영향이 없고, 24개 단어는 동일하게 유지됩니다. 밀리초 단위의 작업입니다.

복구

비밀번호를 잃으면 24개 단어로 금고에 접근할 수 있습니다 — 서버 없이. 24개 단어를 잃으면 비밀번호로 로그인하여 서버가 래핑된 키를 돌려줍니다. 둘 다 잃으면 데이터는 복구 불가능합니다. Bitcoin처럼, 이것은 설계된 보안입니다.

6. 누군가 무단으로 서버에 접근하면 어떻게 되는가

공격자가 Solo2 서버에 완전한 접근 권한을 얻으면 다음을 얻게 됩니다:

  • 사용자 이름 및 공개 이름
  • 연결 코드
  • 공개 키 (브라우저에 있는 개인 키 없이는 무용지물)
  • 비밀번호 해시 (Argon2id 덕분에 극히 비용이 큰 무차별 대입 공격 없이는 무용지물)
  • 세션 토큰 해시 (원본 토큰 없이는 무용지물)
  • 대기 중인 연결 요청 (내부 ID, 3일 후 만료)
  • 계정 유형, 잔액 및 가입 날짜
  • 결제 기록 (특정 사용자에게 연결 불가)

얻을 수 없는 것:

  • 메시지 없음 (서버에 존재한 적 없음)
  • 파일 없음 (서버에 존재한 적 없음)
  • 연락처 목록 없음 (서버에 존재한 적 없음)
  • 채팅 기록 없음 (서버에 존재한 적 없음)
  • 암호화 개인 키 없음 (브라우저에 존재)
  • IP 주소 없음 (기록되지 않음)

7. 저희의 약속

이 선언문은 데이터 관리에 관련된 변경이 있을 때마다 업데이트됩니다. 데이터베이스에 새 필드를 추가하면 여기에 나타납니다. 무언가를 제거해도 마찬가지입니다.

현재 유효한 버전은 항상 이 페이지입니다.

Solo2 — 대화는 오직 사용자의 것입니다.