개인정보처리방침
개요
Mitmi는 회사도, 광고도, 어떤 형태의 분석이나 추적도 없는 독립 프로젝트예요. 이 방침은 앱이 어떤 데이터를 왜 다루는지 쉽고 정확하게 설명해요.
1. 서버에 저장되는 정보
서버는 다음 정보를 영구적으로 저장해요(제8조에 설명된 제3자 서비스에 보관):
- @사용자 이름.
- @사용자 이름이 만들어진 날짜와 시간. 서버 관리 화면에서 개발자만 볼 수 있으며 다른 사용자에게는 절대 표시되지 않아요.
- 해당 @사용자 이름에 등록된 기기의 식별자. 다른 사용자가 나를 찾아 전화할 수 있도록 하기 위해서예요.
- 각 기기의 이름(Android가 기본으로 지정한 이름 또는 직접 지정한 이름). 해제할 기기를 정할 때 구분할 수 있도록 설정 > 기기에만 표시되며, 다른 사람에게는 절대 표시되지 않아요.
- 각 기기가 마지막으로 활동한 날짜와 시간(“마지막 접속”). 같은 목적으로 설정 > 기기에만 전체가 표시되며, 누군가 내 @사용자 이름에 기기를 추가할 때 교체 후보로 제시되는 기기 목록에는 날짜 단위로 반올림되어 표시돼요. 다른 사용자에게는 절대 표시되지 않아요.
- 아래 제4조에 설명된 기기 확인 코드(확인을 완료한 각 기기).
- 제4조에 설명된 확인된 각 기기가 생성한 보안 키의 공개 부분. 내보낸 프로필이 실제로 그 기기에서 나왔으며 다른 기기에 가져올 수 있음을 승인하는 데 사용돼요.
- 같은 기기에서 새 프로필을 만드는 속도를 제한하기 위한 단기 기록(악용 방지 목적).
이 모든 데이터는 제10조(“사용자의 선택”)에 설명된 대로 기기를 해제할 때까지 서버에 남아 있어요.
참고로 Mitmi는 직접 정한 표시 이름을 묻거나 저장하지 않아요. 내 @사용자 이름을 연락처로 저장하지 않은 사람에게 전화하면, 상대방의 수신 화면에는 내 @사용자 이름만 표시돼요.
기술 보고서: 설정에서 “개발자에게 보내기”를 누르고, 보고서를 확인한 뒤 전송을 확정한 경우에만 Mitmi 서버가 기기에 대한 기술 보고서(모델, Android 버전, 보안 인증서 또는 카메라 및 오디오 장치, 최근 기술 로그)를 @사용자 이름, 그리고 직접 입력한 경우에만 이메일 주소와 함께 받아 이메일 서비스(Resend)를 통해 개발자에게 이메일로 전달해요. 서버는 둘 다 보관하지 않으며, 보고서는 문제를 진단하는 데에만, 이메일은 개발자가 이에 대해 답장하는 데에만 사용해요.
2. 서버의 RAM(임의 접근 메모리)에 임시로 저장되는 정보
위의 영구 저장과는 별도로, 다음 정보는 기기가 연결되어 있는 동안(포그라운드 또는 백그라운드)에만 서버의 RAM에 존재해요. 서버가 재시작되거나, 앱의 백엔드가 업데이트되거나, 단순히 내 모든 기기가 오프라인이 되면 모두 지워지며, 다음에 기기가 다시 연결될 때 다시 불러와요:
- 아바타 이미지 또는 아바타 색상(앱이 포그라운드에 있을 때만 유효).
- 연락처로 저장한 @사용자 이름의 단순 목록. 서로의 아바타를 표시하는 데 필요해요(앱이 포그라운드에 있을 때만 유효).
- 두 기기가 통화를 연결하는 과정에서 필요한 연결 정보(앱이 포그라운드에 있을 때만 유효).
- 누군가 그룹에서 나갔다는 짧은 알림. 7일 후 자동으로 삭제돼요(앱이 포그라운드에 있을 때만 유효).
- 사용자가 온라인인지, 자리 비움인지, 통화 중인지 여부(앱이 포그라운드에 있거나 알림이 켜진 상태로 백그라운드에 있을 때만 유효).
- 차단한 @사용자 이름의 단순 목록. 실제로 차단이 적용되도록 해 주며, 상대방의 전화가 조용히 나에게 연결되지 않게 해요(앱이 포그라운드에 있거나 알림이 켜진 상태로 백그라운드에 있을 때만 유효).
- 기기를 추가할 때 제5조에 설명된 정보. 새 기기가 받을 때까지, 또는 코드가 사용되지 않으면 1분 후 코드가 만료될 때까지 보관돼요.
3. 기기에 저장되는 정보
다음 정보는 기기의 내부 저장소에 저장되며, 아래에 별도로 명시한 경우를 제외하고는 서버로 전송되지 않아요:
- 저장한 각 @사용자 이름의 연락처 정보(이름, 카테고리, 즐겨찾기 여부)는 모두 기기에만 남아 있으며 서버로 전송되지 않아요. 단, 제5조에 설명된 대로 기기 추가를 사용할 때는 일시적으로 전송돼요.
- 통화 기록은 모두 기기에만 남아 있으며 서버로 전송되지 않아요.
- 그룹은 모두 기기에만 남아 있으며 서버로 전송되지 않아요. 단, 제5조에 설명된 대로 기기 추가를 사용할 때는 일시적으로 전송돼요.
- 차단한 연락처 정보는 모두 기기에만 남아 있으며 서버로 전송되지 않아요. 단, 제2조에 설명된 대로 @사용자 이름 자체는 서버로 전송돼요.
- 보안 PIN은 모두 기기에만 남아 있으며(보호된 형태로 저장) 서버로 전송되지 않아요. 단, 제5조에 설명된 대로 기기 추가를 사용할 때는 보호된(해시) 형태가 전송돼요.
- 제4조에 설명된 확인된 각 기기가 생성한 보안 키의 비공개 부분은 모두 기기에만 남아 있으며 서버로 전송되지 않아요.
- 즐겨찾기로 표시한 연락처는 TV 홈 화면에 표시돼요. 이름, @사용자 이름, 아바타가 표시를 위해 기기의 홈 화면 런처(같은 기기의 시스템 앱)에 전달돼요. Mitmi는 이를 다른 곳으로 보내지 않아요.
4. 기기 확인
수정되었거나 승인되지 않은 앱을 사용하는 누군가가 내 @사용자 이름을 가로채지 못하도록, 각 기기는 처음 설정할 때 한 번 보안 확인을 하여 실제 Mitmi 앱을 실행하는 정품의 수정되지 않은 기기인지 확인해요.
이 확인의 일부로, 서버는 같은 물리적 기기를 나중에(예: 앱을 다시 설치한 후) 다시 알아볼 수 있도록 제조사가 기기에 부여한 코드라는 작은 정보를 저장해요. 이 코드는 저장 전에 암호화되므로, 해독에 필요한 특정 키 없이는 누구도 읽을 수 없어요. 서버는 기기의 모델명도 함께 저장하며, 제5조에 설명된 복구 상황에서 같은 물리적 기기를 알아보는 데 함께 사용해요. 개발자는 악용을 감지하기 위해 서버 관리 화면에서 모델명을 볼 수도 있어요.
일부 Android TV 기기(Google 인증 여부와 관계없이)는 이 보안 확인을 완료하지 못해요. 이런 기기도 제5조에 설명된 한 가지 예외를 제외하고는 Mitmi를 정상적으로 사용할 수 있어요.
5. 프로필 추가, 내보내기, 가져오기
하나의 프로필은 동시에 최대 두 대의 기기에 등록할 수 있어요.
기기를 추가하면(설정 > 기기 > 기기 추가) 1분 동안 유효한 짧은 영숫자 코드가 표시돼요. 두 기기가 모두 온라인일 때 새 기기에 그 코드를 입력하면, 프로필, 연락처, 그룹과 함께 새 기기가 바로 내 @사용자 이름에 추가돼요. 이를 위해 프로필, 아바타, 연락처, 그룹, PIN의 보호된(해시) 형태가 Mitmi 서버로 전송되어 새 기기가 받을 때까지만 임시 메모리(RAM)에 보관된 뒤 삭제돼요. 코드가 사용되지 않으면 1분 후 만료될 때 데이터가 삭제돼요. 서버는 이를 보관하지 않아요. 이미 두 대의 기기가 등록되어 있는데 세 번째 기기를 추가하려는 경우, 앱은 먼저 현재 두 기기 중 어느 기기를 해제할지 선택하게 하여 자리를 비운 다음 코드를 보여 줘요.
프로필을 내보내면(설정 > 기기 > 프로필 내보내기) @사용자 이름과 제3조에 설명된 정보가 담긴, 직접 정한 비밀번호로 보호되는 암호화된 백업 파일이 만들어져요. 이 파일은 앱의 캐시와 데이터를 지운 후, 앱을 다시 설치한 후, 또는 기기를 초기화한 후에도 내보낸 바로 그 물리적 기기에 @사용자 이름을 복구하는 데 언제나 사용할 수 있어요. 두 대의 기기가 등록되어 있는 동안에는 프로필 내보내기 버튼을 사용할 수 없는데, 이는 단지 보안상의 제한이에요.
같은 파일을 다른 기기에도 가져올 수 있어서 두 기기를 동시에 온라인으로 연결할 수 없을 때 유용하지만, 한 번만, 그리고 원래 기기가 제4조에 설명된 보안 확인을 완료한 경우에만 가능해요. 그 확인을 완료할 수 없는 기기도 백업을 내보낼 수는 있지만, 같은 기기에서만 사용할 수 있고 다른 기기에서는 사용할 수 없어요.
어떤 경우든 @사용자 이름을 복구하려면 백업이나 페어링 코드가 필요해요.
6. 앱이 요청하는 권한
- 카메라 및 마이크: 내 영상/음성을 미리 보고 있거나 통화 중일 때만 사용해요. 통화 중 음소거하면 음성은 전송되지 않지만, 통화가 끝날 때까지 마이크는 켜진 상태로 유지돼요(TV의 마이크 표시등이 계속 켜져 있을 수 있어요).
- 알림, 백그라운드 서비스, 부팅 시 시작: 앱이 포그라운드에 없을 때도 수신 전화를 알려 주고, 기기를 켜거나 앱을 업데이트한 후 다시 전화를 받을 수 있게 하기 위해 사용해요. 수신 전화는 전체 화면 알림을 사용할 수도 있어요.
- 다른 앱 위에 표시(선택): 허용하면, 일반 알림이 항상 안정적으로 표시되지는 않는 TV 플랫폼에서 앱이 백그라운드에 있을 때 화면 위에 작은 수신 전화 알림을 표시할 수 있어요.
- 홈 화면 행(즐겨찾기): 제3조에 설명된 대로 즐겨찾기로 표시한 연락처를 TV 홈 화면에 게시할 수 있게 해요.
이러한 권한은 이 방침에 설명된 범위를 넘어 데이터를 수집하는 데 사용되지 않아요.
7. 통화 음성 및 영상
통화는 WebRTC를 사용해 종단 간 암호화(SRTP/DTLS)된 상태로 기기 간에 직접 전송돼요. Mitmi 서버는 두 기기가 서로를 찾고 초기 연결 정보를 교환하도록 돕기만 하며, 통화의 음성이나 영상을 보거나 저장하거나 접근하지 않아요. 통화는 절대 녹음되지 않아요.
8. 제3자 서비스(호스팅, 이메일, STUN, TURN)
Mitmi는 제3자 서비스를 이용하며, 각 서비스가 무엇을 볼 수 있는지 알려 드리는 것이 공정하다고 생각해요:
- 호스팅: Mitmi 서버는 제3자 호스팅 제공업체에서 운영돼요. 다른 웹 호스팅과 마찬가지로 해당 업체(그리고 악용을 막기 위해 서버 자체)는 연결하는 모든 기기의 IP 주소를 처리해요.
- 데이터베이스: 제1조에 설명된 영구 정보는 제3자 데이터베이스 서비스에 저장돼요.
- 이메일: 제1조에 설명된, 개발자에게 보내기로 선택할 수 있는 기술 보고서는 제3자 이메일 서비스(Resend)를 통해 전달되며, 이 서비스는 전달을 위해서만 보고서, @사용자 이름, 그리고 추가한 경우 이메일 주소를 볼 수 있어요.
- STUN 서버: 자신의 공인 네트워크 주소를 알아내기 위해, 각 기기는 통화를 설정할 때 공개 STUN 서버에 연결해요. 기본적으로 Mitmi는 Turnix, ExpressTURN, Metered.ca가 운영하는 STUN 서버를 사용해요. STUN 서버는 기기의 공인 IP 주소와 연결이 요청되었다는 사실은 볼 수 있지만, @사용자 이름, 음성, 영상은 절대 볼 수 없어요.
- TURN 중계 서버: 두 기기 간 직접 연결이 불가능할 때는 통화를 완료하기 위해 제3자 TURN 서버를 통해 통화를 중계해야 하며, 이때도 암호화는 유지돼요. Mitmi에는 기본으로 구성된 TURN 서버가 없어요. 설정에서 지원되는 세 제공업체(ExpressTURN, Metered.ca, Turnix.io) 중 하나에 직접 계정을 만들거나, 자체 호스팅한 TURN 서버를 지정해야 해요. 구성한 중계 서버는 두 참가자의 IP 주소와 연결이 진행 중이라는 사실은 볼 수 있지만, 실제 음성이나 영상 내용을 해독하거나 볼 수는 없어요.
이 서비스들 중 어느 것도 통화의 음성이나 영상을 해독하거나 볼 수 없으며, Mitmi는 이 서비스들을 광고나 분석에 사용하지 않아요.
9. 아동의 개인정보
Mitmi는 만 13세 미만 아동을 대상으로 하지 않으며, 해당 연령 미만인 사람의 정보를 알면서 수집하지 않아요.
10. 사용자의 선택
이 개인정보처리방침에 동의하지 않는다면 언제든지 설정 > 기기에서 기기를 해제할 수 있어요. 해제하면 이 기기의 로컬 데이터가 지워지고 서버에서 삭제돼요. 마지막 기기를 해제하면 서버에는 @사용자 이름 외에는 아무것도 남지 않으며, @사용자 이름은 악용과 사칭을 막기 위해 6개월 동안 예약된 뒤 삭제돼요. 그 기간에는 앱에서 해제하거나 백업으로 복구할 수 없어요. 앱을 다시 사용하기로 하면 새 @사용자 이름을 만들어야 해요.
11. 본 방침의 변경
이 방침은 앱이 바뀜에 따라 업데이트될 수 있어요. 업데이트 후에도 앱을 계속 사용하면 수정된 방침에 동의하는 것으로 간주돼요.
12. 문의
본 방침에 대한 문의는 mitmi-app@outlook.com(으)로 보내 주세요.