Tokens left? Privacy Policy
This policy explains how Interstellar Games ("we") handles information in the iPhone and Android apps Tokens left? ("the companions") and Tokens left? for Mac ("the Mac app").
1. Information we receive
We do not collect AI login credentials, API keys, account names, conversations or usage values. Subscription limits pass through Apple's services encrypted so that we cannot read them (section 3). A separate license service verifies purchases and Mac activations using the limited information described in section 5. The apps and widgets contain no ads or advertising SDKs.
If you contact us by email, we receive your email address and message. We use them only to reply, keep them for 3 years as a record of consumer complaints and dispute handling, and then delete them without delay (Korea's Act on the Consumer Protection in Electronic Commerce).
2. Information handled only on your device
- The iPhone app does not offer API-key input or direct API spending requests. Keys and API caches saved by an older version are not used by the subscription usage flow; this update does not automatically delete them.
- Usage data: received subscription limits, plan tiers and recent consumption history are cached on your device so the app and widgets can show the last received readings offline.
- Usage names: names you enter stay in that device’s settings and widgets. Mac names are sent encrypted to the connected companions. A name changed on your phone is not sent back to Mac or to us. Use Original Name removes that local name.
- Settings: card order, display preferences and usage alert thresholds are stored on your device.
3. Subscription limits and the Mac app
- The Mac app reads the usage limits that Claude Code passes to its status line (5-hour and weekly usage percentage and reset time) and the usage limits that Codex reports. For Codex it asks the codex program on your Mac through its official command, and also uses the plan name and credit balance that come in the same answer.
- Claude Code's status line data also contains other values, such as the model, the working folder and the conversation file path. The Mac app takes only the usage limits and neither stores nor sends the rest. It does not read login credentials, session tokens, or conversations.
- To show each account's plan name (for example Max 20x) on your Mac and iPhone, the Mac app opens Claude Code's account file (
.claude.json) and takes only the plan tier (userRateLimitTier, ororganizationRateLimitTierif that is empty). The rest of the file, such as your email address and organization name, is discarded right away and is never stored, logged or sent. - Plan tiers are sent to your iPhone encrypted along with the usage limits. The iPhone caches the received limits and plan tiers so it can display them offline. The Codex plan tier is also kept with the limits on your Mac between checks. The Codex credit balance is used only inside the Mac app; it is not stored or sent to your iPhone.
- Only after you click Connect Claude Code in its settings, the Mac app sets itself as the status line in the settings.json of each Claude Code config folder (
~/.claude*) where you have signed in to Claude Code. Folders of other tools with similar names are left out. Config folders added later are connected the same way, except accounts you disconnected yourself, until you click Disconnect All. Your original status line command is kept and still shown, a backup file (settings.json.tokensleft-backup) is left the first time, and other settings are not changed. - The values stay on your Mac and are sent to your iPhone encrypted, through Apple's services. Along with the limits and plan tier, an account name taken from the config folder name (for example default or work), a display name you set on Mac, a random ID for each Mac, authorization and expiry, and an optional compatibility Pro status are sent, all encrypted. The key that decrypts them exists only on your own devices, so neither we nor Apple can read the contents. CloudKit record metadata can expose the record address, creation and change times, size, and Apple’s pseudonymous creator ID; this does not expose the encrypted readings or the decryption key.
- Android Link sends a separate encrypted record through Apple’s services. It includes limits, plan and display names, Mac authorization and expiry, and compact recent consumption history covering up to six hours plus a 15-minute baseline allowance, with at most 78 observations per account. Android receives the separate key through the QR or pasted code; it does not sign in to an Apple Account. The key stays on your devices. A record address derived from that key is sent to Apple over HTTPS to fetch the encrypted record. Anyone with the connection code can decrypt its readings, so keep the code private. No AI login information is included.
- Android protects the saved connection key with Android Keystore. Received readings and phone settings are stored in the app’s private storage. Cloud backup and device transfer of this app data are disabled. Camera access is requested only for QR scanning; camera images are processed on the phone and are not uploaded or saved to your photo library. Browsing example data uses fabricated readings and does not send them to CloudKit.
- Unlink on Android clears that phone’s key and received cache; it does not stop the Mac or erase the CloudKit record. Unlink in the Mac’s Android Link settings deletes the shared Android record and key. New QR Code replaces the key and attempts to delete the old record; confirm any deletion error has been resolved. Disconnect All removes this Mac’s share. Other connected Macs and their shares are separate.
- For multiple Codex accounts, the Mac app checks only whether an auth.json file exists in each account folder; it does not read the file contents. You can also choose an existing Codex settings folder yourself. Selected folder paths and disconnected accounts are kept only in the Mac app settings and are not sent to your iPhone. The official codex program handles authentication for each folder.
- While running, the Mac app also records received limit percentages, reset times, receipt times and plan tiers for recent consumption, even when that display is off. Each update keeps only the last 24 hours, grouped into five-minute intervals with at most 300 observations per account. The history is stored on Mac and sent encrypted with the limits to iPhone, which caches it. Disconnect All clears this Mac's local history as well. Stored copies can remain while the apps are not running; the rules below apply to sent values. No conversations or task contents are recorded.
- Apple's privacy policy applies to data passing through Apple's services.
- Sent values do not automatically expire. Disconnect All or turning off Send to iPhone removes that Mac’s share from the encrypted iPhone payload. If no shares remain, an encrypted empty snapshot, its record address and CloudKit metadata can remain; this operation does not delete the record itself. With several Macs, a share more than 30 days old is pruned when another Mac sends. Android Link’s Unlink operation separately deletes its Android record.
- To remove the Mac app, click Disconnect All at the bottom of its settings window, quit it from the menu bar, and delete it from Applications.
4. Free companions and the Mac app
The iPhone and Android companions are free to download and require the Mac app for actual usage readings. An optional one-time purchase through the App Store or Google Play supplies a license key for the Mac app. Restoring the same purchase retrieves the same key. The Mac trial permits one selected account for seven days; a valid license permits all connected accounts. The companions display only the accounts and access period authorized by the Mac. Purchase information is not included in the encrypted usage payload.
5. Third-party services
The companions receive encrypted subscription records through Apple’s services and do not request usage directly from AI services. The Mac uses Claude Code and Codex to obtain their officially provided limits. The app is not affiliated with or endorsed by Anthropic, OpenAI or Apple. Service names are used only for identification.
Mac licenses and purchases
Website purchases are handled by Lemon Squeezy. It processes checkout contact, billing and order information; we can access order and customer contact information for support and refunds. The Mac sends a Lemon Squeezy key and a random installation UUID or activation instance ID to its license API when registering, validating or deactivating that key. Its privacy policy applies.
Native purchases use Apple or Google payment processing. For license delivery and restoration, iPhone sends a signed purchase transaction and Android sends a purchase token to our license service over HTTPS. The service checks the store, product, purchase and refund status with the relevant provider. It stores an encrypted purchase reference, a derived purchase identifier, license fingerprint, activation status and random Mac installation/activation identifiers using Firebase Functions and Firestore. These records support purchase restoration, one-Mac registration and fraud prevention; they are retained to support the license, subject to deletion requests and applicable legal obligations. We do not receive payment-card details, AI credentials or usage through this service. Firebase processing is covered by Firebase privacy and security information.
The phone stores a delivered key in its protected local storage. The Mac stores its key and registration state in the local, non-synchronizing Keychain. When validating a key issued for an Apple or Google purchase, the Mac sends the key and activation identifiers to our license service. The service rechecks the purchase with that store. Copying a key is an explicit user action through the system clipboard. Signing out of a store, uninstalling an app or unlinking usage does not erase the server's purchase records or refund a purchase.
Advertising
The app does not request ads, use advertising SDKs or send data to advertising services. It does not request permission to track.
6. AI service terms
The Mac reads only usage values officially provided through Claude Code's status line and Codex's official command interface. The app and Mac app use only methods that do not violate the AI services' terms.
7. Sharing and processors
Subscription limits and compatibility Mac status sent by the Mac app are stored encrypted on Apple's services. The decryption key exists only on your devices, so neither we nor Apple can read the contents (section 3). Apple handles record addresses and network/service metadata under its own privacy policy. Android sends the connection-specific record address in a lookup request. We do not use this address for advertising, analytics or location inference.
8. Children
The app is not directed to children.
9. Your rights
We receive support emails and can access the Mac purchase and license support information described above. You can ask to see or delete it at support@interstellargames.net, except where the law requires us to keep it. You can delete on-device data and the encrypted values you sent yourself as described above.
10. Contact
Interstellar Games, support@interstellargames.net
11. Changes
We will post changes on this page and update the effective date.
Tokens left? 개인정보 처리방침
인터스텔라게임즈(이하 "개발자")는 iPhone·Android 동반 앱 Tokens left?(이하 "동반 앱")와 Tokens left? 맥 앱(이하 "맥 앱")의 개인정보 처리를 다음과 같이 알립니다.
1. 개발자가 받는 정보
개발자는 AI 로그인 정보, API 키, 계정 이름, 대화 내용과 사용량 수치를 수집하지 않습니다. 구독 한도는 개발자가 읽을 수 없게 암호화하여 Apple의 서비스를 거칩니다(3절). 별도의 라이선스 서버가 5절의 제한된 정보로 구매와 맥 인증을 확인합니다. 앱과 위젯에는 광고와 광고 SDK가 없습니다.
다만 이메일로 문의하시면 보내 주신 이메일 주소와 문의 내용을 받게 됩니다. 이 정보는 답변에만 쓰며, 이메일로 접수된 문의 내역은 소비자 불만 및 분쟁 처리 기록으로 3년간 보관 후 지체 없이 파기합니다(전자상거래 등에서의 소비자보호에 관한 법률).
2. 기기 안에서만 다루는 정보
- iPhone 앱은 API 키 입력이나 API 사용액 직접 조회를 제공하지 않습니다. 이전 버전에서 저장한 키와 API 캐시는 구독 사용량 흐름에서 사용하지 않으며 이 업데이트로 자동 삭제하지 않습니다.
- 사용량 데이터: 받은 구독 한도, 요금제 등급, 최근 소모량 기록을 기기에 저장해 앱과 위젯이 오프라인에서도 마지막 값을 보여 줍니다.
- 사용량 이름: 직접 입력한 이름은 해당 기기의 설정과 위젯에서만 사용합니다. 맥에서 정한 이름은 연결된 동반 앱에 암호화해서 보냅니다. 폰에서 바꾼 이름은 맥이나 개발자에게 보내지 않습니다. '원래 이름 사용'을 누르면 기기에서 정한 이름을 지웁니다.
- 설정: 카드 순서, 표시 방식, 사용량 알림 기준은 기기에 저장됩니다.
3. 구독 한도와 맥 앱
- 맥 앱은 Claude Code가 상태줄에 넘기는 사용 한도(5시간·주간 사용 비율과 초기화 시각)와 Codex가 알려 주는 사용 한도를 읽습니다. Codex는 맥에 있는 codex 프로그램에 공식 명령으로 묻고, 같은 답에 함께 오는 요금제 이름과 크레딧 잔액도 씁니다.
- Claude Code 상태줄 정보에는 모델, 작업 폴더, 대화 기록 파일 경로 같은 다른 값도 들어 있지만, 맥 앱은 사용 한도만 꺼내고 나머지는 저장하지도 보내지도 않습니다. 로그인 정보, 세션 토큰, 대화 내용은 읽지 않습니다.
- 맥과 iPhone에 계정마다 요금제 이름(예: Max 20배)을 보여 주려고, 맥 앱은 Claude Code의 계정 설정 파일(
.claude.json)을 열어 요금제 등급(userRateLimitTier, 비어 있으면organizationRateLimitTier)만 꺼냅니다. 이메일 주소, 조직 이름 같은 파일의 나머지 내용은 바로 버리고, 저장하거나 기록하거나 보내지 않습니다. - 요금제 등급은 사용 한도와 함께 암호화해서 iPhone으로 보냅니다. iPhone은 받은 한도와 요금제 등급을 저장해 오프라인에서도 보여 줍니다. Codex 요금제 등급은 다음 조회까지 맥의 한도 파일에도 저장합니다. Codex 크레딧 잔액은 맥 앱 안에서만 쓰고, 저장하거나 iPhone으로 보내지 않습니다.
- 설정 창에서 'Claude Code 연결'을 누른 뒤에만, 맥 앱이 Claude Code에 로그인한 적이 있는 설정 폴더(
~/.claude*)마다 settings.json에서 상태줄을 자기로 바꿉니다. 이름만 비슷한 다른 도구의 폴더는 제외합니다. 나중에 생긴 설정 폴더도 같은 방식으로 연결하되, 직접 '해제'한 계정은 빼고, '모두 해제'를 누르면 멈춥니다. 원래 상태줄 명령은 그대로 두고 계속 보여 주며, 처음 바꿀 때 백업 파일(settings.json.tokensleft-backup)을 남기고, 다른 설정은 건드리지 않습니다. - 받은 값은 맥에 두고, iPhone으로는 암호화해서 Apple의 서비스를 거쳐 보냅니다. 한도와 요금제 등급 외에 함께 보내는 것은 계정 이름(설정 폴더 이름에서 딴 것, 예: default, work), 맥에서 직접 정한 표시 이름, 맥마다 하나씩 있는 무작위 ID, 허용 계정과 만료 상태, 호환성을 위한 선택적 Pro 값이며 모두 암호화됩니다. 암호를 푸는 키는 사용자의 기기에만 있어서 개발자와 Apple 모두 내용을 읽을 수 없습니다. CloudKit 기록의 메타데이터에는 기록 주소·생성 및 변경 시각·크기·Apple의 가명 생성자 ID가 보일 수 있지만 암호화된 사용량이나 복호화 키는 보이지 않습니다.
- '안드로이드 연결'은 Apple의 서비스에 별도 암호화 기록을 보냅니다. 한도·요금제·표시 이름·맥의 허용 계정과 만료 상태, 최근 소모량 기록을 포함합니다. 최근 기록은 6시간과 기준점 여유 15분 범위를 계정마다 최대 78개로 줄여 보냅니다. Android는 QR이나 붙여 넣은 코드로 별도의 키를 받으며 Apple 계정에 로그인하지 않습니다. 키는 사용자의 기기에만 둡니다. 키에서 만든 기록 주소를 HTTPS로 Apple에 보내 암호화된 기록을 조회합니다. 연결 코드를 가진 사람은 사용량을 읽을 수 있으므로 코드를 비공개로 보관하세요. AI 로그인 정보는 담지 않습니다.
- Android는 저장하는 연결 키를 Android Keystore로 보호합니다. 받은 사용량과 폰 설정은 앱 전용 저장소에 두며 앱 데이터의 클라우드 백업과 기기 이전은 제외합니다. 카메라 권한은 QR 스캔을 선택할 때만 요청합니다. 카메라 이미지는 폰에서 처리하며 업로드하거나 사진 보관함에 저장하지 않습니다. 예시 둘러보기의 사용량은 임의로 만든 값이며 CloudKit에 보내지 않습니다.
- Android에서 연결을 해제하면 그 폰의 키와 수신 캐시를 지우며 맥의 전송이나 CloudKit 기록 전체는 지우지 않습니다. 맥 설정의 안드로이드 연결에서 '연결 끊기'를 누르면 Android 공유 기록과 키를 지웁니다. '새 QR로 바꾸기'는 키를 바꾸고 옛 기록의 삭제를 시도하므로 삭제 오류가 나면 해결 여부를 확인하세요. '모두 해제'는 이 맥의 몫을 지우며 다른 맥의 몫은 별도입니다.
- Codex 여러 계정을 찾을 때 맥 앱은 계정 폴더에 auth.json 파일이 있는지만 확인하고 내용은 읽지 않습니다. 기존 Codex 설정 폴더를 직접 고를 수도 있습니다. 선택한 폴더 경로와 해제한 계정 목록은 맥 앱 설정에만 두고 iPhone으로 보내지 않습니다. 폴더별 인증은 공식 codex 프로그램이 처리합니다.
- 맥 앱은 실행 중 실제로 받은 한도 수치, 초기화 시각, 받은 시각, 요금제 등급을 최근 소모량 계산용으로 기록합니다. 표시를 꺼도 기록하며 갱신할 때 최근 24시간만 남깁니다. 5분 구간으로 묶어 계정마다 최대 300개를 맥에 저장하고, 한도와 함께 암호화해서 iPhone으로 보내면 iPhone도 받은 기록을 저장합니다. 맥에서 '모두 해제'하면 이 맥의 소모량 기록도 지웁니다. 앱을 실행하지 않는 동안에는 저장본이 남을 수 있으며, 보낸 값에는 아래 삭제 기준을 적용합니다. 대화나 작업 내용은 기록하지 않습니다.
- Apple의 서비스를 거치는 데이터에는 Apple 개인정보 처리방침이 적용됩니다.
- 보낸 값에는 자동 만료가 없습니다. 맥의 '모두 해제'나 'iPhone으로 보내기' 끄기는 iPhone용 암호화 내용에서 그 맥의 몫을 뺍니다. 남은 몫이 없어도 암호화된 빈 스냅샷과 기록 주소·CloudKit 메타데이터는 남을 수 있으며 기록 자체를 삭제하는 동작은 아닙니다. 30일 넘은 다른 맥의 몫은 다음 전송 때 빠집니다. 안드로이드 연결의 '연결 끊기'는 별도로 Android 기록을 삭제합니다.
- 맥 앱을 지우려면 설정 창 맨 아래 '모두 해제'를 누른 뒤, 메뉴 막대에서 종료하고 응용 프로그램 폴더에서 지우세요.
4. 무료 동반 앱과 맥 앱
iPhone과 Android 동반 앱은 무료로 다운로드하며 실제 사용량을 받으려면 맥 앱이 필요합니다. App Store 또는 Google Play에서 선택적으로 일회 구매하면 맥 앱에 등록할 라이선스 키를 받습니다. 같은 구매를 복원하면 같은 키를 받습니다. 맥 앱은 7일 동안 선택한 계정 하나를 체험하도록 허용하며, 유효한 라이선스로 연결된 모든 계정을 사용할 수 있습니다. 동반 앱은 맥에서 허용한 계정과 접근 기한을 따릅니다. 구매 정보는 암호화된 사용량 내용에 넣지 않습니다.
5. 외부 서비스
동반 앱은 Apple의 서비스를 거쳐 암호화된 구독 기록을 받으며 AI 서비스에 직접 사용량을 요청하지 않습니다. 맥은 Claude Code와 Codex가 공식으로 제공하는 한도를 읽습니다. 앱은 Anthropic, OpenAI, Apple과 제휴하거나 보증받은 관계가 아니며 서비스 이름은 식별을 위해서만 씁니다.
맥 라이선스와 구매
홈페이지 구매는 Lemon Squeezy가 처리합니다. 결제창의 연락처·청구·주문 정보를 처리하며 개발자는 지원과 환불을 위해 주문·고객 연락처를 확인할 수 있습니다. 맥은 Lemon Squeezy 키의 등록·확인·해제 시 해당 키와 무작위 설치 UUID 또는 인증 인스턴스 ID를 Lemon Squeezy의 라이선스 API에 보냅니다. 서비스의 개인정보 처리방침이 적용됩니다.
앱 내 결제는 Apple 또는 Google이 처리합니다. 키 발급과 구매 복원을 위해 iPhone은 서명된 구매 거래를, Android는 구매 토큰을 HTTPS로 개발자의 라이선스 서버에 보냅니다. 서버는 해당 스토어에서 상품·구매·환불 상태를 확인합니다. Firebase Functions와 Firestore를 사용해 암호화한 구매 조회 정보, 구매에서 만든 식별자, 라이선스 지문, 인증 상태와 무작위 맥 설치·인증 식별자를 저장합니다. 구매 복원, 맥 1대 등록과 부정 사용 방지를 위해 라이선스를 지원하는 동안 보관하며 삭제 요청과 법적 보존 의무를 따릅니다. 이 서버로 카드 정보, AI 로그인 정보나 사용량을 받지 않습니다. Firebase 처리에는 Firebase 개인정보·보안 안내가 적용됩니다.
폰은 발급된 키를 기기의 보안 저장소에 두며, 맥은 키와 등록 상태를 동기화하지 않는 로컬 키체인에 둡니다. Apple 또는 Google 구매로 발급된 키를 맥에서 인증할 때 키와 인증 식별자를 라이선스 서버에 보내며 서버가 해당 스토어의 구매 상태를 다시 확인합니다. 키 복사는 사용자가 직접 시스템 클립보드로 실행합니다. 스토어 로그아웃, 앱 삭제나 사용량 연결 해제는 서버의 구매 기록을 삭제하거나 구매를 환불하지 않습니다.
광고
앱은 광고를 요청하거나 광고 SDK를 사용하지 않으며 광고 서비스에 데이터를 보내지 않습니다. 추적 권한도 요청하지 않습니다.
6. AI 서비스 약관
맥은 Claude Code 상태줄과 Codex 공식 명령이 공식으로 알려 주는 사용량만 읽습니다. 앱과 맥 앱은 AI 서비스의 약관을 어기지 않는 방식만 씁니다.
7. 제3자 제공과 처리 위탁
맥 앱이 보낸 구독 한도와 호환성을 위한 맥 상태는 Apple의 서비스에 암호화된 채로 저장됩니다. 암호를 푸는 키는 사용자의 기기에만 있어 개발자와 Apple 모두 내용을 읽을 수 없습니다(3절). 기록 주소와 네트워크·서비스 메타데이터에는 Apple의 개인정보 처리방침이 적용됩니다. Android는 연결별 기록 주소를 조회 요청에 넣어 보냅니다. 이 주소를 광고·분석·위치 추정에 사용하지 않습니다.
8. 어린이
앱은 어린이를 대상으로 하지 않습니다.
9. 이용자의 권리
개발자는 문의 이메일을 받으며 위에서 설명한 맥 구매·라이선스 지원 정보를 확인할 수 있습니다. 이 내역은 support@interstellargames.net 으로 열람이나 삭제를 요청하실 수 있으며, 법령상 보관해야 하는 기간에는 삭제가 제한될 수 있습니다. 기기의 데이터와 보낸 암호화된 값은 위 방법으로 사용자가 직접 지울 수 있습니다.
10. 개인정보 보호책임자와 문의
개인정보 보호책임자: 이광수
이메일: support@interstellargames.net
개인정보 침해에 대한 신고나 상담이 필요하시면 아래 기관에 문의하실 수 있습니다.
- 개인정보침해 신고센터(privacy.kisa.or.kr, 국번 없이 118)
- 개인정보 분쟁조정위원회(kopico.go.kr, 1833-6972)
- 대검찰청 사이버수사과(spo.go.kr, 국번 없이 1301)
- 경찰청 사이버수사국(ecrm.police.go.kr, 국번 없이 182)
11. 변경
이 방침이 바뀌면 이 페이지에 알리고 시행일을 고칩니다.
