보안 모델: 위임 권한을 씁니다. 공용 서비스 계정은 없습니다.
권한 체계를 비틀지 않고 Microsoft Exchange 메일함에 AI를 붙입니다. 사용자는 각자 자기 권한만 쓰고, 메일 내용은 기본값에서 저장 없이 지나가기만 하며, 운영은 독일에서 합니다. DPA는 첫날부터 함께 갑니다.
차이를 만드는 여섯 가지 원칙
여기 적은 약속은 데이터 처리 계약(부속서 1과 2)에도 그대로 들어가 구속력을 가집니다. 이 페이지는 그 내용을 쉬운 말로 옮긴 것입니다.
위임 권한, 공용 계정 없음
직원은 저마다 이미 가진 Exchange 권한으로 자기 메일함에 접근합니다. 모든 메일함을 들여다보는 중앙 서비스 계정도 없고 애플리케이션 임퍼소네이션도 없습니다. 흔히 말하는 “마스터 키”가 Postgate AI에는 아예 존재하지 않습니다.
캐시는 기본값이 꺼짐
기본값에서는 메일 내용을 저장하지 않습니다. 그냥 지나갑니다. 저희가 보관하는 것은 암호화된 자격 증명과 기술 메타데이터(누가, 언제, 어떤 기능을 썼는지)뿐입니다. 원하시면 조직별로 암호화된 단기 캐시를 켤 수 있습니다. 변환한 메일 본문과 첨부파일 본문을 기본 7일, 메일함당 최대 32MB까지 담습니다. 포털에서 언제든 다시 끌 수 있고, 직접 정하신 기밀 등급을 넘는 메일은 캐시에 들어가지 않습니다.
암호화된 자격 증명 금고
Exchange 자격 증명은 독일에 있는 금고에 RSA-4096으로 암호화해 보관합니다. 사용자끼리는 완전히 분리되어 남의 메일함은 아무도 보지 못합니다.
조직별 분리
조직마다 전용으로 보안을 강화한 인스턴스가 돌아가고 설정과 데이터도 따로 둡니다. 다른 고객과 환경을 함께 쓰는 일은 없습니다.
데이터 위치는 독일
처리는 독일 데이터센터에서만 이뤄집니다(운영사는 ISO 27001 인증). 로컬 AI 모델을 쓰시면 처리 전체를 고객사 안에 둘 수도 있습니다.
허용 범위는 관리자가 정합니다
포털에서 고객사 관리자가 무엇을 허용할지 정합니다. 영역별(메일, 일정, 연락처, 작업, 폴더, 규칙)로, 그리고 동작 종류별(읽기, 쓰기, 보내기, 삭제)로 조직 전체, 특정 그룹, 사용자 한 명까지 나눠서 정할 수 있습니다. 허용하지 않은 호출은 서버가 거절합니다. 한 사용자가 한 시간에 보낼 수 있는 수신자 수에도 상한을 둘 수 있고(기본값 100), 비상 정지를 누르면 이후 접근이 곧바로 막힙니다. 재시작은 필요 없습니다. 보안에 관계된 일은 내용 없이 기록으로 남습니다.
요청 하나에 무슨 일이 일어나나요?
쓰시는 AI 어시스턴트가 Postgate AI에 요청을 보냅니다. 독일에 있는 저희 서버가(자체 호스팅 라이선스라면 고객사 서버가) 해당 사용자의 권한으로 Exchange에서 필요한 데이터를 가져와 고르신 어시스턴트로 넘깁니다. 투명 프록시와 같고, 오가는 모든 구간은 TLS로 암호화합니다. 그 뒤 저희 쪽 일은 끝납니다. 기본값에서는 사본도, 내용이 담긴 기록도 남지 않습니다. 캐시를 켜신 경우에만 정하신 보관 기간 동안 메일 본문을 암호화해 둡니다. 메일함은 언제나 고객사 Exchange에 남아 있고, 내용을 어떤 AI 모델이 처리할지는 고객사가 정합니다. 완전히 로컬에서 돌아가는 모델까지 고르실 수 있습니다.
OWASP Top 10 for LLM Applications 2025, 열 항목을 하나씩 답합니다
목록의 모든 항목에 카드를 하나씩 둡니다. 절반만 해당하는 항목도 빼지 않았습니다. 빠진 것이 있으면 그 자리에 적었습니다. 코드에 근거가 없는 장치는 저희 셈에서 장치로 치지 않습니다.
목록의 2025년판을 기준으로 확인했습니다. 새 판이 나오면 저희가 다시 확인해 새로 낼 때까지 이 기준이 유효합니다. 에이전트형 시스템의 위협을 다루는 OWASP의 별도 목록은 여기서 다루지 않습니다.
LLM01:2025 Prompt Injection
읽기 기능은 결과를 외부에서 들어온 내용으로 표시하고, 이것이 자료이지 지시가 아니라는 안내를 함께 붙입니다. 패턴 검사가 그 내용을 위험 등급으로 나누고 적중 횟수를 셉니다.
검사는 표시하고 셀 뿐 아무것도 지우지 않습니다. 그리고 저희가 운영하는 인스턴스에서는 발송 직전의 마지막 제동인 두 번째 호출의 확인이 빠져 있습니다.
LLM02:2025 Sensitive Information Disclosure
Exchange 자격 증명은 암호문으로만 두고 신원마다 따로 풀며, 데이터 열쇠도 신원마다 다릅니다. 기록은 민감한 항목을 지우고 주소를 가리며 신원은 가명으로 남깁니다. 메일함 사본과 벡터 저장소는 운영자가 켤 때에만 생깁니다.
메일함 내용은 정해진 대로 연결된 AI 클라이언트로 갑니다. 그 뒤 거기서 무슨 일이 일어나는지는 이 서버 밖의 일입니다.
LLM03:2025 Supply Chain
기반 이미지는 움직이는 이름이 아니라 고정된 체크섬에 걸어 둡니다. 프로그램 라이브러리는 잠금 파일에서 버전과 체크섬을 달고 들어오며, 누가 잠금 파일 없이 요구 목록만 바꾸면 검사 하나가 그것을 알아챕니다.
구성 요소를 적은 명세는 없고, 취약점 공시와 자동으로 맞춰 보는 절차도 없습니다.
LLM04:2025 Data and Model Poisoning
저희는 모델을 학습시키지 않고 고객사 데이터를 학습에 넣지도 않습니다. 저장되는 데이터는 그 신원의 메일함에서만 오고 신원마다 따로 놓입니다.
일부러 꾸며 낸 메일은 바로 그 메일함에 들어 있어서 나중의 검색 결과에 색을 입힐 수 있습니다. 항목 하나하나의 출처를 점수로 매기는 절차는 없습니다.
LLM05:2025 Improper Output Handling
다시 메일로 들어가는 HTML은 태그와 속성, 주소 방식을 적어 둔 허용 목록을 지나갑니다. 데이터베이스 접근은 매개변수로 이뤄집니다.
기본 읽기 형식에서는 기능이 메일의 원본 HTML을 그대로 넘깁니다. 다듬는 쪽은 메일로 돌아가는 길이고 밖으로 나가는 길이 아닙니다. 연결된 클라이언트가 답을 글로 다루는지 HTML로 그려 내는지는 이 서버가 정할 수 없습니다.
LLM06:2025 Excessive Agency
접근은 확인된 신원과 그 신원이 가진 Exchange 권한으로만 이뤄지고, 신원이 없으면 서버가 거절합니다. 공용 계정도 임퍼소네이션도 없습니다. 비상 정지와 발송 제한은 서비스를 다시 띄우지 않고도 발송을 멈춥니다.
조직과 그룹, 사용자별 허용 표는 관리자가 켠 뒤에야 작동합니다. 보내기와 삭제 전 두 번째 호출의 확인은 자체 호스팅 설치에서 돌고, 저희가 운영하는 인스턴스에서는 꺼져 있습니다.
LLM07:2025 System Prompt Leakage
서버의 시스템 문구에는 비밀이 담기지 않고, 권한도 그 문구가 아니라 신원의 Exchange 권한에 달려 있습니다.
이 문구는 운영자가 덮어쓸 수 있고, 거기 적힌 것은 연결된 모든 클라이언트가 봅니다.
LLM08:2025 Vector and Embedding Weaknesses
벡터 저장소에 닿으려면 신원이 있어야 하고, 접근은 행 수준 보안을 강제한 테이블을 상대로 이뤄지며 열쇠는 가명입니다. 제목과 메일 본문, 첨부파일에서 뽑은 글은 그곳에 들어가지 않습니다.
벡터 자체는 암호화하지 않아서 데이터베이스 역할을 우회하는 사람은 이 규칙도 함께 우회합니다. 색인에 들어가는 내용에 몰래 끼워 넣은 지시가 있는지는 검사하지 않습니다.
LLM09:2025 Misinformation
기능은 메일함 데이터를 원본에서 가져오고 Exchange가 기준으로 남습니다. 외부에서 들어온 내용에는 출처 표시가 붙습니다. 시스템 카드가 공급자와 모델, 목적지를 드러내 적습니다.
서버는 모델이 낸 답을 검사하지 않습니다. 요약이 맞는지 재지 않고, 문장마다 근거를 달게 하는 규칙도 없습니다.
LLM10:2025 Unbounded Consumption
호출 속도는 신원마다 제한하고, 작업 대기열에는 상한을 두며, Exchange를 향한 동시 처리 수도 제한하고, 발송은 신원별로 시간마다 상한을 둡니다.
노드를 여럿 두면 공용 카운터가 데이터베이스에 있지 않은 동안 이 상한은 노드마다 따로 걸립니다. 연결된 모델에서 생기는 비용은 이 서버가 제한하지 않습니다.
전체 증빙 표에는 항목마다 장치와 판정, 한계, 코드에서의 위치가 적혀 있습니다. 요청하시면 드립니다. 증빙 표 요청하기
메일 본문에 담긴 지시에 맞서 무엇이 돌아가나
메일에는 모델에게 내리는 명령처럼 보이는 글이 들어 있을 수 있습니다. 여기에 맞서 세 가지가 돌아가는데, 그중 어느 것도 모두 걸러 내는 필터는 아닙니다.
외부에서 들어온 글은 외부 글로 남습니다
읽기 결과마다 이것이 자료이지 지시가 아니라는 안내가 붙습니다. 모델은 내용만 받는 것이 아니라 그 내용이 어디서 왔는지도 함께 받습니다.
패턴 검사, 닿는 범위를 솔직히 적습니다
지금은 독일어와 영어로 쓴 지시 문장, 채팅 서식에서 온 제어 토큰, 숨겨 둔 글, 보이지 않는 문자를 알아봅니다. 표시하고 셀 뿐 그 이상은 하지 않습니다. 적중 횟수와 위험 등급은 서로 다른 것을 잽니다. 횟수는 강한 적중이 처음 나올 때 올라가고, 등급은 정해 둔 문턱을 넘어야 올라갑니다.
외부 글에서만 나온 수신자
읽어 들인 외부 글에만 주소가 적혀 있으면, 나가는 길을 지키는 장치가 발송 전 되묻기를 더 엄하게 합니다. 이것은 발송 전 확인이 도는 곳, 곧 자체 호스팅 설치에서 작동합니다.
패턴은 저희가 스스로 떠올린 경우만 상대하지 않습니다. 제삼자가 공개한 공격 목록을 상대로 돌려 봤습니다. NVIDIA의 garak이고, 문서와 메일 내용에서 오는 간접 프롬프트 주입을 다루는 검사를 썼습니다. 경우마다 테스트를 따로 두었습니다. 그때 드러난 구멍은 일부러 실패하는 테스트로 남겨 두었습니다. 나중에 그 구멍을 메우면 조용히 사라지지 않고 눈에 띄게 하려는 것입니다. 평범한 메일에는 잘못된 경보가 나지 않고, 그것을 확인하는 테스트 기준점도 따로 있습니다. 도구 이름을 밝히는 까닭은, 이름 없는 목록은 증빙이 아니라 주장일 뿐이기 때문입니다.
자주 묻는 질문
GDPR을 지키나요?
지킵니다. 처리는 독일에서 이뤄지고, 가입 절차에서 GDPR 제28조에 따른 데이터 처리 계약(DPA)을 바로 체결합니다. 문서로 정리한 기술적, 관리적 보호 조치와 수탁사 목록도 함께 들어갑니다. 가입하신 분은 포털에서 언제든 계약서를 보실 수 있습니다.
모든 메일함에 접근하는 서비스 계정이 왜 위험한가요?
조직 전체 메일함을 볼 수 있는 계정은 공격이 몰리는 한 지점이 됩니다. 그 계정이 털리면 모든 메일함이 열리고, 모든 동작이 같은 신원으로 실행되니 누가 무엇을 했는지 사람 단위로 남지도 않습니다. Postgate AI는 그런 계정을 아예 쓰지 않습니다.
Postgate AI가 계속 보관하는 데이터는 무엇인가요?
암호화한 Exchange 자격 증명(RSA-4096, 독일 금고), 포털 계정 정보(이름, 회사 이메일, 비밀번호 해시), 그리고 내용이 없는 기술 감사 기록입니다. 기본값에서는 메일 내용이 여기에 들어가지 않고 고객사 Exchange에 그대로 남습니다. 캐시를 켜시면 변환한 메일 본문과 첨부파일 본문이 암호화되어 더해지고, 기본 7일 뒤에 지워집니다.
AI 제공사가 우리 메일을 보나요?
그건 고객사가 정하실 일입니다. 어떤 AI 어시스턴트를 골라 연결할지 직접 정하시니, 내용을 어떤 모델이 처리할지도 고객사 손에 있습니다. Ollama처럼 로컬에서 돌리는 모델을 쓰시면 내용이 고객사 환경을 벗어나지 않습니다. 저희는 자체 AI를 운영하지 않습니다.
개인정보 보호 책임자가 마음 놓고 승인할 보안.
TOM과 수탁사 목록이 붙은 DPA를 가입 절차에서 바로 체결합니다. 체험 기간에도 실제 운영과 똑같은 모델로 돌아갑니다.