🌳 Conoti

English

서비스 구조

AI 작업의 대화는 내 PC에 있고,
코노티 서버는 그 내용을 읽을 수 없습니다

코노티의 AI 작업은 내 PC에서 돌고 있는 AI(Claude Code·Codex)를 폰으로 이어 보고 답하는 기능입니다. PC에서는 Conoti AI(이전 이름 AI Inbox) 앱이, 폰에서는 코노티 앱이 서로 직접 암호를 맞추고, 코노티 서버는 그 사이에서 로그인 확인 · 암호문 전달 · 내용 없는 알림만 맡습니다.

AI 작업 연결 구조 한눈에 보기폰의 코노티 앱과 PC의 Conoti AI 사이를 종단간 암호 통로가 잇는다. 코노티 서버는 로그인과 알림을 맡고, 가운데에서는 읽을 수 없는 암호문만 건네주며 대화를 저장하지 않는다. 대화 기록은 PC에 저장된다. 코노티 서버 로그인 · 알림 계정 확인 · 내용 없는 알림 보내기 중계 — 암호문만 지나갑니다 짝짓기는 메모리에서만 · 풀 열쇠 없음 대화 저장 안 함 내 폰 코노티 앱 · 화면에서만 풀기 $ claude 내 PC Conoti AI · Claude Code 등 대화 기록 저장 AI 작업 연결 구조 한눈에 보기폰의 코노티 앱과 PC의 Conoti AI 사이를 종단간 암호 통로가 잇는다. 코노티 서버는 로그인과 알림을 맡고, 가운데에서는 읽을 수 없는 암호문만 건네주며 대화를 저장하지 않는다. 대화 기록은 PC에 저장된다. 내 폰 코노티 앱 코노티 서버 로그인 · 알림 계정 확인 · 내용 없는 알림 보내기 중계 — 암호문만 풀 열쇠 없음 대화 저장 안 함 $ claude 내 PC Conoti AI · AI 실행 대화 저장
자물쇠는 양 끝(폰과 PC)에만 있습니다. 가운데 서버를 지나는 동안 내용은 암호문입니다.
원본은 PC 한 곳에

대화 기록은 PC의 Conoti AI 데이터베이스(SQLite)에 저장됩니다. 폰 앱은 볼 때마다 PC에 물어서 화면에 보여 줄 뿐, 대화 사본을 디스크에 저장하지 않습니다.

풀 수 있는 건 양 끝뿐

폰과 PC 사이의 모든 내용은 종단간 암호(Noise 프로토콜 IKpsk2)로 잠깁니다. 열쇠는 각 기기 안에서 만들어지고 서버로 보내지지 않습니다.

서버는 건네주기만

서버는 두 연결을 짝지어 암호문을 그대로 넘깁니다. 짝짓기 정보는 메모리에만 두고, 지나가는 내용은 풀지도 로그에 남기지도 않습니다.

서버가 보는 것, 못 보는 것

“서버는 아무것도 모른다”고 말하면 과장입니다. 연결을 이어 주고 알림을 보내려면 알아야 하는 정보가 있습니다. 그 경계를 그대로 적습니다.

👁 서버가 볼 수 있는 것

  • 계정 정보 — 소셜 로그인 계정과 로그인 세션(로그인 유지 토큰은 원문이 아니라 해시로)
  • 알림 받을 기기 — 알림 토큰과 언어 설정
  • 연결의 겉모습 — 접속 IP·접속 시각·메시지 크기와 횟수·앱 버전, 같은 폰이 다시 붙었는지 알아보는 기기 번호
  • 알림이 갔다는 사실 — 언제, 어떤 종류(새 결과·예약 등)의 알림을 어느 계정에 보냈는지. 알림을 켜 두면 어느 PC(IP)가 어느 계정에 알림을 보내는지도

🔒 서버가 볼 수 없는 것

  • 내가 AI에게 시킨 말과 폰에서 보낸 답
  • AI의 답과 요약
  • 세션 이름·프로젝트 폴더 경로
  • 주고받은 이미지
  • 암호 열쇠 — 기기의 개인키와 연결 열쇠

데이터가 머무는 곳

● 저장 · — 없음 · 화면 표시 = 볼 때 받아 와 보여 주기만 · 암호문 통과 = 풀지 않고 넘기기만. “내 폰”은 폰 앱 기준입니다 — 웹 브라우저로 연결할 때는 아래 “웹 브라우저로 연결할 때”를 보세요.
데이터내 폰코노티 서버내 PC
대화(시킨 말·AI의 답)화면 표시암호문 통과●
주고받은 이미지화면 표시암호문 통과●
기기 개인키 · 연결 열쇠● 보안 저장소—● 본인만 읽는 파일
계정 · 로그인 세션●●—
알림 토큰●●—
접속 IP · 시각 · 메시지 크기와 횟수 · 앱 버전 · 기기 번호—보임—

같은 메시지, 세 곳에서

같은 메시지가 세 곳에서 보이는 모습폰과 PC에서는 '테스트 돌리고 결과 알려줘'라는 글로 보이고, 가운데 코노티 서버에서는 의미 없는 바이트로만 보인다. 내 폰 테스트 돌리고 결과 알려줘 읽을 수 있음 코노티 서버가 보는 것 9f 3a c1 7e 02 b8 d4 5fe1 66 0b 9a 4c f2 13 a75d 88 c0 2e 71 bb 09 e4 의미 없는 바이트 — 길이와 시각만 알 수 있음 내 PC 테스트 돌리고 결과 알려줘 읽을 수 있음 암호를 푸는 열쇠는 폰과 PC 안에서 만들어지고, 서버로 보내지지 않습니다. 열쇠가 없는 서버는 내용을 읽을 수도, 그럴듯한 가짜 메시지를 만들어 끼워 넣을 수도 없습니다. 같은 메시지가 세 곳에서 보이는 모습폰과 PC에서는 '테스트 돌리고 결과 알려줘'라는 글로 보이고, 가운데 코노티 서버에서는 의미 없는 바이트로만 보인다. 내 폰 테스트 돌리고 결과 알려줘 읽음 코노티 서버가 보는 것 9f 3a c1 7e 02 b8 d4 5fe1 66 0b 9a 4c f2 13 a75d 88 c0 2e 71 bb 09 e4 의미 없는 바이트 길이·시각만 앎 내 PC 테스트 돌리고 결과 알려줘 읽음 열쇠는 폰과 PC 안에서 만들어지고 서버로 보내지지 않습니다. 열쇠 없는 서버는 읽지도, 꾸며 넣지도 못합니다.
아래 바이트는 모양을 보여 주기 위한 예시입니다. 실제 암호문은 메시지마다 달라집니다.

중간에서 가로챌 수 없는 이유

암호가 튼튼해도 처음에 상대의 열쇠를 바꿔치기당하면 소용이 없습니다(중간자 공격). 코노티는 처음 연결할 때 이 틈을 사람의 눈과 카메라로 막습니다.

  1. PC 화면의 QR을 폰 카메라로 직접 찍습니다. QR에는 PC의 공개키와 5분 동안 한 번만 쓰는 비밀이 들어 있습니다. 이 정보는 서버를 거치지 않으므로, 서버가 PC의 열쇠를 다른 것으로 바꿔 끼울 수 없습니다.
  2. 폰은 자기 열쇠를 폰 안에서 만들어 OS 보안 저장소에 둡니다. 개인키는 폰 밖으로 나가지 않습니다.
  3. 두 화면에 같은 6자리 확인 코드가 뜹니다. 암호 핸드셰이크에서 계산한 값이라, QR이 새어 다른 기기가 먼저 끼어들면 숫자가 달라집니다.
  4. PC 앞의 사람이 허용해야 연결이 맺어집니다. 답을 보내도 되는 기기인지도 이때 따로 정합니다.
  5. 허용하면 PC가 그 폰만의 연결 열쇠를 만들어 암호 통로 안으로 건넵니다. 이후 대화는 처음부터 끝까지 암호문으로만 오갑니다.
한 번이라도 복호화에 실패한 통로는 즉시 끊깁니다. 폰은 방 번호만 알아서 PC 행세를 할 수 없습니다. PC에서 기기를 지우면 그 폰의 연결 열쇠는 더 이상 통하지 않습니다.

쓰는 암호

항목방식
핸드셰이크Noise IKpsk2 — 보안 VPN WireGuard도 쓰는 Noise 계열 핸드셰이크 패턴(해시 함수는 다름)
열쇠 합의X25519 (기기마다 직접 만든 열쇠 쌍 + 연결마다 새로 만드는 임시 열쇠)
암호화 · 위조 방지ChaCha20-Poly1305 · 해시 SHA-256
운반TLS로 보호된 웹소켓(WSS) — 암호문이 한 번 더 감싸여 갑니다

지금의 연결 경로

지금 · 기본코노티 서버 중계

폰과 PC가 각자 코노티 서버로 바깥 방향 연결을 엽니다. PC에 들어오는 포트를 열 필요가 없고, 서버는 암호문을 건네주기만 합니다. 상대가 꺼져 있으면 메시지를 쌓아 두지 않고 바로 연결을 닫습니다. 폰 연결 자체도 PC 설정에서 켜야 동작하는 선택 기능입니다.

준비 중 · 꺼져 있음직접 연결(P2P)

서버를 거치지 않고 폰과 PC가 바로 잇는 방식(WebRTC)을 준비하고 있습니다. 아직 쓰지 않으며, 공개판에는 이 기능의 코드가 들어 있지 않습니다.

계정에 PC를 등록해 QR 없이 여러 기기를 잇는 방식, PC 앱에서의 코노티 로그인, 패스키 같은 추가 인증도 준비 중이며 지금은 쓰이지 않습니다. 계정 연결 방식은 열쇠를 확인하는 방법이 달라, 위 “가로챌 수 없는 이유”는 지금의 QR 연결에 대한 설명입니다.

서버를 거치는 기능 — 따로 밝혀 둡니다

🎙 음성 대화 (선택 기능 · 기본 꺼짐)

AI 작업을 말로 시키는 음성 대화를 켜면, 말소리와 받아쓴 글, 대화를 이해하는 데 필요한 최근 대화·AI 답 요약과 세션 이름이 코노티 서버를 거쳐 음성 AI 회사(Google 또는 OpenAI)로 전달됩니다. 음성으로 PC·세션을 옮기는 기능을 쓰면 PC 이름과 다른 세션의 한 줄 미리보기도 함께 전달됩니다. 코노티 서버는 이 내용을 저장하지 않고 사용 시간·처리량 같은 이용량만 기록합니다. 전달된 데이터는 각 회사의 정책에 따라 처리됩니다(예: OpenAI는 학습에 쓰지 않고 남용 감시 로그를 최대 30일 보관). 처음 켤 때 따로 동의를 받습니다.

🌐 웹 브라우저로 연결할 때

코노티 웹으로도 PC에 연결할 수 있습니다. 이때 기기 열쇠와 로그인 유지 토큰은 그 브라우저의 저장소(localStorage)에 별도 암호화 없이 저장됩니다. 대화 내용은 웹에도 저장되지 않지만, 여러 사람이 쓰는 컴퓨터의 브라우저로는 연결하지 않는 것이 좋습니다. 꺼낼 수 없는 열쇠로 보관하는 방식은 준비 중입니다.

📢 공지방 · 방에 올리는 카드 · 앱 안 AI 채팅

여러 사람에게 전하고 여러 기기에서 이어 보는 기능이라 서버에 저장됩니다. 외부 AI가 MCP로 방에 올리는 카드도 마찬가지입니다. 보관 기간과 처리 방식은 개인정보처리방침을 따릅니다.

🤖 PC에서 도는 AI 자체

Claude Code·Codex 같은 AI는 원래대로 각 AI 회사의 서버와 통신합니다. 코노티는 그 길에 끼어들지 않고, 그 길을 대신 보호하지도 않습니다. Conoti AI 앱 자체는 폰 연결을 켜지 않으면 새 버전 확인 말고는 밖으로 연결하지 않고(이것도 끌 수 있음), 응답 요약·이력 검색은 기본으로 꺼져 있습니다 — 켜면 고른 발췌가 사용자 본인의 Claude·Codex 구독을 통해 그 회사로 갑니다.

자주 묻는 질문

코노티 서버가 해킹되면 내 AI 대화가 새나요?

서버에는 AI 작업 대화가 저장되어 있지 않고, 지나가는 것도 암호문이라 그 자체로는 읽을 수 없습니다. QR로 연결할 때 열쇠를 서버를 거치지 않고 직접 주고받고 화면의 확인 코드로 사람이 한 번 더 확인하기 때문에, 서버가 중간에서 열쇠를 바꿔치기하기는 어렵습니다. 다만 계정 정보와 접속 시각·크기 같은 겉모습 정보는 서버에 있으니 그 범위는 영향을 받을 수 있습니다.

폰을 잃어버렸어요.

PC의 Conoti AI에서 그 기기를 지우세요. 그 폰의 연결 열쇠가 무효가 되어 다시 붙을 수 없습니다.

폰으로 PC에 아무 일이나 시킬 수 있나요?

폰이 PC에 요청할 수 있는 일은 정해진 목록(세션 목록·대화 보기·답 보내기 등)뿐이고, 파일을 직접 읽거나 명령을 직접 실행하는 통로는 없습니다. 답은 AI 세션에 들어가는 말이라 PC에서 기기마다 허용해야 보낼 수 있습니다.

알림에 대화 내용이 보이나요?

아니요. 알림은 서버가 정해 둔 고정 문구(“새 결과가 도착했어요” 등)만 보냅니다. 내용은 앱을 열어 PC에서 받아 옵니다.

이 페이지는 Conoti AI의 공개 보안 문서(SECURITY.md)와 내부 연결 규격, 코노티 서버·앱 코드를 기준으로 썼습니다.