개인정보 처리방침
앱: 프롬프트쉘(PromptShell) — Google Play 표시 이름 "PromptShell: AI SSH 터미널" / "PromptShell: AI SSH Client" (Android, 패키지 com.tmsae.promptshell)
개발자: Techin Park (tmsae) · 문의 tmsaeapp@gmail.com
시행일: 2026년 11월 5일
1. 기기에만 저장하는 정보
서버 이름·주소·포트·사용자 이름, 비밀번호·SSH 개인 키·키 암호, AI API 키, 대화·명령 기록, 내 칩, 백그라운드 작업 목록은 이 휴대폰에만 저장합니다. 비밀번호·SSH 키·키 암호·API 키는 안드로이드 키스토어(AES-256-GCM)로 암호화하며, 앱 데이터 전체를 기기 백업·기기 이전 대상에서 제외합니다. 개발자는 이 정보를 받지 않으며 볼 수 없습니다. 서버를 삭제하거나 앱을 삭제하면 함께 지워집니다.
2. 이용자가 고른 곳으로 직접 보내는 정보
- 내 SSH 서버: 이용자가 등록한 서버에 직접 접속해, 이용자가 입력하거나 승인한 명령을 실행합니다.
- AI 제공자: AI 에게 요청할 때마다 이용자의 요청 문장, 같은 세션의 이전 대화, 서버 환경 정보(서버의 사용자 이름·호스트 이름·OS·셸 종류·작업 폴더·직전 종료 코드), 실행한 명령과 그 출력(길이 제한)이 전송됩니다. 이용자가 고른 방식에 따라 Anthropic API 또는 OpenAI API 로 휴대폰에서 직접 가거나, 이용자 서버에 설치된 Claude Code·Codex CLI 로 SSH 를 통해 전달됩니다(CLI 는 이용자 계정으로 해당 제공자와 통신합니다). 앱은 등록한 서버 주소·비밀번호·SSH 키·API 키를 AI 요청에 넣지 않습니다(단, 명령 출력에 들어 있는 내용은 그대로 전송되므로 민감한 내용을 출력하는 명령은 주의하세요). 개발자 서버를 거치지 않으며, 처리·보관·요금은 이용자와 해당 제공자 사이의 약관을 따릅니다.
- 음성 입력: 마이크 버튼을 누르면 안드로이드 기기의 시스템 음성 인식기(예: Google)가 음성을 처리하고, 앱은 인식된 글자만 받습니다. 음성 처리는 해당 음성 인식 서비스의 정책을 따릅니다.
3. 개발자가 수집하는 정보
- 사용 통계(Firebase Analytics): 화면·버튼 이벤트(온보딩 단계, 서버 연결, 요청 전송 방식(입력·음성·칩), 명령 승인·거절, 명령 실행, 오류 자동 복구, 터미널·채팅 전환, 결제 화면·구매 진행 결과, 리뷰 요청 표시)와 그 숫자·종류 값(명령 위험 등급, 실행 성공 여부, 상품 ID), 사용자 속성(Pro 여부·요금제, 앱 버전, 기기 언어, 고른 AI 방식 종류), Firebase 앱 인스턴스 ID 와 아래 RevenueCat 익명 고객 ID. 목적: 서비스 개선. 프롬프트·명령·출력·서버 주소·키는 보내지 않으며, 광고 ID 는 수집하지 않습니다. 설정 > 익명 사용 통계에서 끌 수 있습니다.
- 오류 기록(Firebase Crashlytics): 앱이 비정상 종료될 때 기기 모델·OS·앱 버전·오류 위치(스택 정보)와 RevenueCat 익명 고객 ID. 목적: 안정성 개선.
- 구매 기록(RevenueCat): 익명 고객 ID·상품·구매 상태. 목적: Pro 이용권 확인. 결제 자체는 Google Play 가 처리합니다.
데모 서버는 실제 서버에 접속하지 않고 앱 안에서 명령 결과를 흉내 냅니다. AI 를 설정하지 않았다면 데모 서버의 답변도 앱 안의 예시 답변이며, AI 를 설정했다면 위 2항처럼 고른 AI 로 요청이 갑니다. 백그라운드 작업 완료 알림은 기기 안에서 만드는 로컬 알림입니다. 앱에는 광고가 없습니다.
4. 보관 기간
사용 통계는 Google Analytics 보관 기간 설정(최대 14개월)이 지나면 자동 삭제됩니다. 오류 기록은 Crashlytics 보관 기간(90일)이 지나면 삭제됩니다. 구매 기록은 관련 법령이 정한 기간 동안 보관합니다.
5. 처리 위탁
Google LLC(Firebase Analytics·Crashlytics), RevenueCat, Inc.(구매 확인). 이 업체들은 국외(미국 등)에서 정보를 처리할 수 있습니다.
6. 이용자 권리
앱 안에서 서버·기록·키·칩을 언제든 수정·삭제할 수 있습니다. 사용 통계·오류 기록·구매 기록 삭제는 tmsaeapp@gmail.com 으로 요청하세요(설정 화면 아래 버전 옆의 ID 를 함께 보내 주시면 찾을 수 있습니다). 만 14세 미만 아동을 대상으로 하지 않습니다.
7. 개인정보 보호책임자
Techin Park · tmsaeapp@gmail.com
Privacy Policy (English)
App: PromptShell (프롬프트쉘) — Google Play name "PromptShell: AI SSH Client" (Android, package com.tmsae.promptshell) · Developer: Techin Park (tmsae) · Contact: tmsaeapp@gmail.com · Effective November 5, 2026
Stored only on your device
Server names, addresses, ports and usernames; passwords, SSH private keys and passphrases; AI API keys; conversation and command history; custom chips; background job list. Passwords, keys, passphrases and API keys are encrypted with the Android Keystore (AES-256-GCM), and all app data is excluded from backups and device transfer. We never receive or see this data. It is deleted when you delete the server or the app.
Sent directly where you choose
- Your SSH server: PromptShell connects straight to the server you add and runs the commands you type or approve.
- AI provider: each AI request contains your request text, the earlier conversation in that session, server context (the server's user name, host name, OS, shell, working folder and last exit code) and the commands that ran with their (truncated) output. Depending on your choice it goes from your phone directly to the Anthropic API or the OpenAI API, or over SSH to the Claude Code / Codex CLI on your own server, which talks to its provider under your account. The app does not put the server address you saved, passwords, SSH keys or API keys into AI requests (command output is sent as printed, so take care with commands that print secrets). Nothing passes through our servers; processing and billing follow your agreement with that provider.
- Voice input: the mic button opens your device's system speech recognizer (for example Google), which processes the audio under its own policy. The app only receives the recognized text.
What we collect
- Usage statistics (Firebase Analytics): screen and button events (onboarding steps, server connected, how a request was sent — typed, voice or chip, command approved or rejected, command executed, automatic error recovery, terminal/chat switch, paywall views and purchase outcomes, review prompt shown) with numeric or category values (risk level, success, product ID); user properties (Pro status and plan, app version, device language, which kind of AI option you use); the Firebase app instance ID and the anonymous RevenueCat customer ID. Purpose: improving the app. Never prompts, commands, output, server addresses or keys, and no advertising ID. You can turn this off in Settings > Anonymous usage stats.
- Crash reports (Firebase Crashlytics): device model, OS, app version, crash location (stack trace) and the anonymous RevenueCat customer ID. Purpose: stability.
- Purchase records (RevenueCat): anonymous customer ID, product and status, to verify Pro. Payment itself is handled by Google Play.
The demo server does not connect to any real server; it simulates command output inside the app. If no AI is set up, its answers are built-in examples; if you have set up an AI, requests go to that AI as described above. Background job alerts are local notifications created on your device. The app shows no ads.
Retention: analytics per the Google Analytics retention setting (up to 14 months); crash reports 90 days; purchase records as required by law. Processors: Google LLC and RevenueCat, Inc., which may process data outside your country (for example in the United States). Not directed at children under 14. To request deletion of analytics, crash or purchase records, email tmsaeapp@gmail.com with the ID shown next to the version at the bottom of Settings.