개인정보
로컬에 저장되는 것과 Mac 밖으로 나갈 수 있는 것.
테마 설정은 브라우저의 로컬 저장소에 저장됩니다.
외부 링크를 누르면 해당 서비스로 이동합니다.
문의 폼이 보내는 내용은 아래 “문의 폼”에 적었습니다.
MacAIterm은 Mac에서 실행됩니다. 계정, 텔레메트리, 분석, 충돌 보고가 없습니다. 이 페이지는 무엇이 저장되고, 무엇이 기기 밖으로 나갈 수 있으며, 언제 나가는지를 정확히 적습니다.
저장되는 것 (모두 로컬, ~/Library/Application Support/MacAIterm/)
| 파일 / 폴더 | 내용 | 비고 |
|---|---|---|
settings.json |
사용자 설정 | 비밀 정보 없음 |
secrets.json |
설정에 저장한 API 키 |
macOS Keychain으로 암호화(Electron safeStorage).암호화를 쓸 수 없으면 키를 저장하지 않습니다 |
history/*.jsonl |
세션 기록: 요청, AI 메시지, 명령, 출력 |
저장하기 전에 비밀 정보를 마스킹합니다. 끄거나(설정 → "세션 기록 저장") 세션별로 삭제할 수 있고, 최신 200개만 유지합니다 |
audit/*.jsonl |
AI가 실행했거나 시도한 모든 명령과 승인/거부 결정 | 비밀 정보 마스킹, 내보내기 가능(설정) |
usage/*.jsonl |
API 호출별 토큰 수만(제공자, 호스트, 모델, 입력/출력/캐시 토큰) | 프롬프트, 답변, 키는 절대 저장하지 않습니다 |
project-rules.json |
프로젝트별로 유지하기로 한 "항상 허용" 규칙 | 여기에 저장하며 저장소 안에는 두지 않습니다 |
tabs.json, llm-settings.json,
kv-engine.json, theme
|
열린 탭 / 선택한 모델 / 전용 엔진의 프로세스 ID / 라이트·다크 | |
ssh-sessions.json |
사이드바에 저장한 SSH 세션: 이름, 폴더, 호스트, 포트, 사용자 이름, 키 파일의 경로, 점프 호스트, 터널, X11 모드 |
비밀번호, 암호, 키는 저장하지 않습니다. 파일은 비공개(모드 0600)이고 모든 필드는 명령줄에 닿기 전에 검증합니다 |
ssh-recent.json |
최근 SSH 세션의 접속 대상(user@host[:port] 또는
~/.ssh/config 이름)
|
이름만 저장, 모드 0600 |
모두 지우기: 앱을 종료하고 그 폴더를 삭제하세요. 다른 곳에는 아무것도 저장하지
않습니다(셸 기록은 사용자의 ~/.zsh_history에 그대로 있습니다).
Mac 밖으로 전송될 수 있는 데이터
| 기능 | 전송되는 내용 | 받는 곳 | 시점 |
|---|---|---|---|
| 로컬 모델(기본) | 프롬프트와 명령 출력 | 127.0.0.1(사용자의 Ollama) |
모든 요청. 기기 밖으로 나가지 않음 |
| OpenAI 호환 서버(LM Studio, 게이트웨이, OpenAI API) | 대화 컨텍스트와 API 키 | 설정에 입력한 서버 |
모델 칩에서 직접 고른 뒤에만. 원격 서버는 자동으로 선택되지 않으며, 컨텍스트가 기기 밖으로 전송된다고 UI가 경고합니다 |
| Codex CLI | 대화 컨텍스트 | codex 도구를 통한 OpenAI |
직접 고른 뒤에만. 로그인은 이 앱이 아니라 codex가 처리합니다
|
| 공식 사용량 조회 | 관리자 키와 날짜 범위 | api.openai.com(조직 Usage / Costs 엔드포인트) |
"공식 사용량 불러오기"를 눌렀을 때만 |
| 업데이트 확인 | 요청 자체 외에는 없음 | api.github.com(이 저장소의 릴리스) |
기본은 꺼짐. "지금 확인"을 누르거나 켰을 때 |
| 모델 다운로드 | 모델 이름 | 사용자의 Ollama → 그 레지스트리 | 다운로드 버튼을 눌렀을 때만. 앱이 스스로 내려받지 않습니다 |
| 링크 열기 | 해당 없음 |
ollama.com, github.com,
platform.openai.com 페이지
|
클릭했을 때만(다른 주소는 거부) |
SSH(접속하는 서버)
-
앱은 SSH 비밀번호나 키 암호를
묻지도, 받지도, 저장하지도 않습니다.
일반ssh와 똑같이 터미널에서 직접 입력합니다.
저장된 세션에는 어디에 접속할지만 있고, 사용자가 고른 키 파일 경로 외에 어떻게 인증할지는 없습니다(키 자체는 앱이 읽지 않습니다). -
서버 모니터와 파일 패널은 별도의 비대화형
ssh연결을 씁니다(BatchMode=yes: 절대 프롬프트를 띄우지 않으므로 키 로그인이나 사이드바에서 연 세션의 공유 연결에서 동작합니다).
그런 연결이 불가능하면 그냥 비어 있습니다. -
모니터는 읽기 전용 스크립트 하나를 실행해(
/proc,vm_stat,df,nvidia-smi등을 읽음) 수치를 해석하며, 서버에는 아무것도 쓰지 않습니다.
파일 패널은 클릭하거나 끌어다 놓은 것만 수행합니다. -
서버에서 AI를 쓰면 명령과 파일 도구는 눈에 보이는 터미널을 통해(또는
같은 계정에 닿는다고 확인된 같은 연결로) 그 서버에서 실행됩니다.
출력은 다른 명령 출력처럼 설정한 모델로 전달됩니다.
클라우드 모델이면 로컬 명령과 마찬가지로 서버 출력이 Mac 밖으로 나가며, 비밀 정보는 먼저 마스킹합니다.
서버를 바꾸는 작업은 항상 승인을 거칩니다(설정 → SSH). - 호스트 키 경고(키 변경, 연결 거부 등)는 키 지문과 함께 타임라인에 알림으로 표시하며, 앱이 호스트 키 질문에 대신 답하는 일은 없습니다.
-
전송 중 앱이 쓰는 모든 것은 기존 파일을 바꾸기 전에 SHA-256으로 검증하고, 취소한
전송은 최종 이름으로 반쯤 쓴 파일을 남기지 않습니다.
Finder로 끌어낸 파일은 임시 폴더에 캐시되며 앱을 종료하면 삭제됩니다.
API 키
-
OPENAI_API_KEY/OPENAI_ADMIN_KEY는 환경 변수에서 읽으며(Dock에서 실행한 앱은~/.zshrc를 상속하지 않으므로 로그인 셸에서도 읽습니다) 앱 메모리에만 보관합니다. -
환경 변수의
OPENAI_API_KEY는api.openai.com으로만 전송됩니다.
다른 서버에는 설정에서 그 서버용으로 저장한 키만 사용합니다. - 키는 UI에 표시하지 않고(출처인 환경 변수 / Keychain만 보여 줍니다) 로그에 남기지 않으며, 명령 출력, 기록, 감사 로그, 모델에 보내는 텍스트에 나타나면 마스킹합니다.
-
이 앱은 사용자를 대신해 인증 정보를 입력하지 않으며, AI는 키 파일을 읽을 수
없습니다(
~/.ssh,.env, 클라우드 인증 정보 등은 차단하고 마스킹합니다).
AI가 볼 수 있는 것
AI는 요청에 필요한 터미널 상태를 봅니다: 작업 디렉터리 목록, 열어 본 프로젝트 파일, 최근 명령 출력. 출력과 파일 내용은 신뢰할 수 없는 데이터로 취급합니다(파일이 AI에게 지시할 수 없습니다). 모델로 보내기 전에 비밀 정보를 마스킹하며, 위험한 작업은 승인이 필요합니다(README 참고). 로컬 모델을 쓰면 이 중 어느 것도 Mac 밖으로 나가지 않습니다.
이메일
페이지 맨 아래의 주소는 일반 메일 주소입니다. 이곳으로 보내신 메시지와 보내신 분의 주소는 일반적인 이메일 경로로 관리자에게 전달되며, 답장하는 데에만 쓰입니다. 이 사이트에는 문의 폼이 없고, 보내신 내용의 사본도 보관하지 않습니다.
변경 사항
이 동작이 바뀌면 릴리스 전에 CHANGELOG.md에 기록합니다.
이 안내에 대한 문의는 페이지 맨 아래의 이메일 주소로 보내 주세요.