테넌트 격리
모든 워크스페이스의 데이터는 애플리케이션 코드만이 아니라 Postgres에서 강제되는 행 수준 보안으로 분리됩니다. 검색 색인도 이 정책을 우회하지 않고 그 안에서 동작하도록 만들었습니다. 업로드된 파일은 워크스페이스별 키 아래에 저장되며, 이미지가 아닌 파일은 다운로드로만 제공됩니다. 채팅 속 파일은 10분 뒤 만료되는 링크로 방문자에게 전달됩니다. 워크스페이스가 정지되거나 해지되면 모든 API 키, 앱·봇 토큰, 세션, 채팅, 실시간 연결이 한 번에 멈춥니다. 사진은 휴대폰이 기록해 넣는 위치, 기기 등의 메타데이터를 제거한 뒤 저장됩니다.
인증
비밀번호는 Argon2id로 해시합니다. 누구나 계정 보안 페이지에서 2단계 인증을 켤 수 있습니다. 브라우저에서 그려지는 QR 코드를 스캔하고, 코드로 확인한 뒤, 일회용 복구 코드를 보관하면 됩니다. 끄려면 비밀번호와 코드가 필요합니다. 같은 페이지에 로그인된 모든 브라우저가 나열되어 하나씩 또는 나머지 전부를 로그아웃할 수 있습니다. 워크스페이스는 자체 이메일 도메인으로 제한되는 OpenID Connect 싱글 사인온 제공업체를 추가할 수 있으며, 2단계 인증을 켠 사람에게는 이때도 코드를 묻습니다. 세션은 서버에서 관리하고 절대 수명과 유휴 수명이 정해져 있습니다. API 키와 봇 토큰, 앱 토큰은 해시로 저장되고 워크스페이스 하나와 권한 집합으로 범위가 묶입니다. 관리자는 모든 구성원에게 2단계 인증을 의무화할 수 있으며, 즉시 적용하거나 7일 또는 14일의 유예 기간을 둘 수 있습니다. Kommio의 플랫폼 관리자는 반드시 2단계 인증을 사용합니다.
권한 부여
역할이 권한과, 어떤 대화를 볼 수 있는지, 그리고 이메일, 전화번호, 결제 정보, IP 주소 같은 민감한 필드를 표시할지 마스킹할지 숨길지를 정합니다. 누구도 자신이 가진 것보다 많은 권한으로 역할을 만들거나, 구성원을 변경하거나, 사람을 초대하거나, 앱을 승인할 수 없습니다. 자동화는 이를 만든 사람의 권한으로 실행되고, 앱은 관리자가 설치할 때 승인한 범위로 동작합니다. 구성원을 비활성화하거나 제거하거나 역할을 좁히는 일, API 키 폐기, 워크스페이스 정지는 먼저 영향을 받는 항목을 보여 주고, 이메일이나 키 이름, 워크스페이스 이름을 입력해야 진행됩니다. 떠나는 구성원의 규칙, 봇, 웹훅, 앱은 필요한 권한을 가진 동료에게 넘길 수 있고, 작성자가 떠난 규칙은 누군가 넘겨받을 때까지 일시 중지됩니다. 신분증, 결제 정보, 그 밖의 개인 정보를 담은 맞춤 속성은 태그를 달아 같은 규칙을 따르게 할 수 있으며, 접근 권한 페이지에서 사람마다 어떤 대화를 보는지, 각 종류의 데이터를 어떻게 보는지 확인할 수 있습니다. 신분증이나 그 밖의 개인 정보가 담긴 파일은 스레드에서 또는 규칙으로 표시할 수 있으며, 그 뒤로는 같은 권한을 따릅니다. 역할에 따라 표시·마스킹·숨김 처리되고, AI 제공업체로는 절대 보내지 않으며, 내보내기에는 볼 수 있는 사람에게만 포함되고, 워크스페이스가 신분증에 대해 정한 보존 기간이 지나면 삭제됩니다.
감사
모든 변경에 누가, 무엇을, 이전과 이후가 어땠는지가 남습니다. 마스킹된 값을 여는 것은 별도 권한이며, 선택적 사유와 함께 자체 감사 항목을 남깁니다. 보안 정책 페이지에는 지난 30일 동안 누가 무엇을 열어 봤는지가 감사 로그 링크와 함께 나열됩니다. 고객의 웹사이트가 로그인 시 연락처의 이름이나 이메일을 갱신하거나 이전의 익명 채팅을 합치면, 그 변경이 기록되어 해당 연락처에 표시됩니다.들어오는 모든 이메일은 도착한 그대로도 보관됩니다. 기본 보관 기간은 90일(워크스페이스 설정)이며, 연락처를 삭제하면 즉시 함께 삭제됩니다. 사본은 받은편지함을 관리하고 메시지 전체를 마스킹 없이 읽을 수 있는 사람만 내려받을 수 있으며, 모든 다운로드는 감사 로그에 남습니다.
암호화
채널 자격 증명과 SSO 비밀 정보, AI 제공업체 키, 토큰은 엔벨로프 암호화로 저장 시 암호화되며, 저장한 뒤에는 다시 표시되지 않습니다. 전송 구간에서는 어디서나 TLS를 사용합니다.
웹사이트 채팅
어떤 사이트가 워크스페이스의 채팅을 띄울 수 있는지는 브라우저 자체가 강제합니다. 방문자는 대화가 있을 때에만 연락처가 됩니다. 익명 방문자는 브라우저에 담긴 무작위 토큰으로만 식별되고 브라우저 핑거프린팅은 쓰지 않으며, 사이트가 신원을 보증하는 로그인 방문자도 메시지를 쓰거나, 상담원이 먼저 채팅을 걸거나, 이메일을 남기기 전까지는 연락처가 아닌 채팅 세션으로만 유지됩니다. 30일(기간은 워크스페이스 설정) 동안 보이지 않은 세션은 삭제됩니다. 탐색 컨텍스트는 첫 메시지와 함께만 전송됩니다. 고객 사이트는 자체 서버가 만든 서명으로 로그인한 방문자를 식별하며, 채팅에 입력된 이메일만으로 두 사람이 연결되는 일은 없습니다. 방문자 IP 주소를 전체로 저장할지, 줄여서 저장할지, 아예 저장하지 않을지는 워크스페이스마다 정합니다.
AI 어시스트
관리자가 Kommio Cloud의 무료 AI 사용량이나 워크스페이스의 자체 제공업체 키로 켜기 전까지는 꺼져 있습니다. 작업에 필요한 것만 보냅니다. 최근 메시지, 고객 이름, 그리고 요청한 사람이 볼 수 있을 때에 한해 이메일이나 전화번호입니다. 결제 및 신분증 필드, 메시지에 입력된 카드 번호, 답장 제안 시의 비공개 메모, 맞춤 속성은 절대 보내지 않습니다. Kommio는 프롬프트나 응답을 저장하지 않고, 예산 계산을 위한 사용량만 기록합니다. 선택형 AI 에이전트는 지식 베이스만으로 답하고, 내부 콘텐츠를 고객에게 보여 주지 않으며, 연락처의 이메일이나 전화번호를 받지 않고, 확신이 없으면 사람에게 인계합니다.
수신과 발신 신뢰
제공업체 웹훅은 파싱하기 전에 서명으로 검증합니다. 고객이 지정한 URL(웹훅, 봇, 앱, AI 제공업체)로 나가는 요청은 사설 대역을 거부하고 크기와 시간을 제한하는 단일 SSRF 안전 클라이언트를 거칩니다. 발신 웹훅, 봇 전송, 앱 훅에는 서명이 붙습니다. HTML 메일 본문은 저장할 때 한 번, 화면에 그릴 때 다시 한 번 정제합니다.셀프 호스팅 설치에서는 업로드되거나 수신된 모든 파일을 저장하기 전에 ClamAV로 검사할 수 있습니다. 탐지된 파일은 거부되거나 자리 표시로 바뀌며 절대 제공되지 않습니다. 기본으로 꺼져 있으며, Kommio Cloud는 아직 파일을 검사하지 않습니다.
브라우저
상담원 앱은 엄격한 Content Security Policy와 함께 제공됩니다. 스크립트와 글꼴, 연결은 동일 출처만 허용하고, 프레임과 오브젝트는 막으며, 앱 자체를 다른 페이지에 삽입할 수 없습니다. 앱 패널은 서명된 단기 컨텍스트를 받아 샌드박스 iframe에서 실행됩니다.
운영
최소 권한 데이터베이스 역할, 변경마다 수행하는 의존성 및 컨테이너 검사, 전체 테스트를 통과하고 이전 릴리스들로부터의 업그레이드를 리허설한 뒤에만 나가는 릴리스, 그리고 문서화된 취약점 공개 절차를 갖췄습니다. Kommio Cloud는 중단 없이 배포됩니다. 새 버전이 기존 버전 옆에서 먼저 시작하고, 준비가 끝나면 넘겨받습니다. 셀프 호스팅 설치에는 기본으로 꺼져 있는 내장 백업이 있어, 암호화된 데이터베이스 덤프와 저장된 파일을 일정에 따라 디스크나 버킷에 기록합니다. 암호화 키는 백업에 절대 포함되지 않습니다. Kommio Cloud에서는 가입을 주소와 이메일 도메인별로 속도 제한하고, 일회용 이메일 주소는 거부합니다.셀프 호스팅 백업은 매주 테스트용 데이터베이스에 복원해 확인하고, 성공하지 못하면 알림을 보냅니다. 오프라인에 보관하는 에스크로 키로도 암호화할 수 있습니다.
취약점 제보
[email protected]로 메일을 보내 주세요. 영업일 기준 이틀 안에 접수를 확인하고, 문제가 해결될 때까지 진행 상황을 알려 드립니다.