LimitPulse

Privacy, without surprises.

This policy explains how the LimitPulse Android and iPhone apps handle authentication, usage information, local history, notifications, and public reset signals.

Effective: August 13, 2026 Developer: YongTech Android and iPhone: com.limitpulse.app
LimitPulse is an independent third-party usage companion. It is not affiliated with or endorsed by OpenAI or Anthropic.

English

LimitPulse Privacy Policy

1. Scope and identity

This policy describes the Android and iPhone apps LimitPulse, published by YongTech. LimitPulse can create a separate Firebase-backed LimitPulse account using Google on Android or Apple on iPhone. OpenAI and Claude connections remain accounts the user already controls at those providers; LimitPulse does not create or administer those provider accounts.

2. Data handled by the app

LimitPulse account.

Android uses Google sign-in and iPhone uses Sign in with Apple through Firebase Authentication. Firebase assigns a user ID and retains the authentication record needed to keep the user signed in. The Google response on Android can include an email address, display name, and profile-photo URL. Apple sign-in on iPhone requests neither name nor email scope. The apps do not display or copy provider profile fields into local usage history. The LimitPulse backend verifies the Firebase ID token and uses only the user ID and sign-in provider after verification; it does not persist or log email, name, or photo claims.

A LimitPulse account is optional for OpenAI usage and public signals, but required for private Claude features. Every private request must contain both a Firebase App Check proof and a current Firebase ID token.

OpenAI authentication and account identifier.

Sign-in takes place in the system browser. LimitPulse never asks for or receives an OpenAI password. Device authorization results, access tokens, refresh tokens, ID tokens, and the ChatGPT account identifier are handled on the mobile device so the app can make read-only usage requests directly to OpenAI over HTTPS.

Android encrypts authentication material with AES-GCM using a key generated in Android Keystore. iPhone stores the complete authentication bundle in a device-only, non-syncing Keychain item. Authentication material is not sent to the LimitPulse public-signal service.

Claude authentication.

Claude connection starts from the app and opens an Anthropic-owned HTTPS page in the system browser. LimitPulse never asks for or receives an Anthropic password. The user returns a one-time authorization code to the app. The code is sent over HTTPS with Firebase App Check and the signed-in user's Firebase ID token to the LimitPulse backend, where the official Claude Code authorization flow exchanges it. The one-time code is not retained on the phone or written to service logs.

The resulting Claude OAuth session is stored in an access-restricted, per-user server directory selected by a secret HMAC of the Firebase user ID. It is used only to read the connected subscription's 5-hour and 7-day quota windows. Claude OAuth tokens are not returned to the Android or iPhone app. Disconnect Claude removes the server-side session and cached Claude quota snapshot.

Usage and local history.

The app receives quota, reset-time, plan, and Token Activity values from OpenAI and the two supported quota windows from the LimitPulse Claude usage service. It normalizes and stores the minimum values needed for current status and history in an app-private Room database on Android or SwiftData store on iPhone. Usage records contain no conversations, prompts, source code, profile photos, or email addresses.

OpenAI usage and local history are processed on the device and are not uploaded to the LimitPulse backend, Firebase Analytics, or a crash-reporting provider. The backend temporarily stores the latest Claude quota snapshot so connected apps can display it; it does not receive Claude prompts, conversations, or source code.

Firebase services.

When a release is configured for Firebase Cloud Messaging (FCM), Google/Firebase processes data required to deliver reset-verification signals. This may include a Firebase installation ID, app version, Firebase user agent, and messaging registration data. LimitPulse uses FCM only for the fixed public reset-signal topic.

FCM messages contain only a bounded public event type, public event identifier, public source category, and publication time. OpenAI tokens, cookies, account identifiers, usage, prompts, conversations, and source code are never put in an FCM message.

Firebase Analytics is enabled by default and can be turned off in Settings. LimitPulse records first opens, active use, successful account authentication, account sign-out or deletion, and bounded provider connection/disconnection labels. It does not set an Analytics user ID or send email, AI tokens, prompts, conversations, source code, or usage values in these events. Firebase processes an app-instance identifier, interaction and device metadata, and general location derived from a masked IP address under its own terms. Advertising-ID collection and ad-personalization signals are disabled; iPhone also disables IDFV collection and uses the AnalyticsCore product without AdSupport. LimitPulse does not use advertising, Crashlytics, Firebase Performance Monitoring, or BigQuery delivery-metrics export.

Public reset-signal service.

The LimitPulse public-signal service reads public reset announcements, classifies explicit completed-reset evidence, deduplicates public events, and sends the fixed FCM topic signal. It does not expose a client upload endpoint and does not receive OpenAI account data from the app. The same backend separately exposes the App Check-and-account-protected Claude and account-deletion endpoints described above.

3. Purposes

Data is used only to:

LimitPulse does not sell personal or sensitive data, use it for advertising, build advertising profiles, run Codex tasks, consume reset credits, or read or modify conversations.

4. Storage, retention, and backup

Encrypted authentication material and local history stay in app-private mobile storage. Android uses Android Keystore plus an encrypted authentication file and Room; iPhone uses a device-only Keychain item and SwiftData. Local history is excluded from Android backup and iPhone backup. Authentication material remains until disconnect, unrecoverable storage failure, app-data clear, or uninstall. Local history follows the in-app retention behavior and can be deleted at any time. Per-user Claude credentials and the latest bounded Claude snapshot remain on the LimitPulse server until the user disconnects Claude or deletes the LimitPulse account.

Google/Firebase applies its own retention rules to authentication, Analytics, installation, and messaging data. Turning off Analytics stops future app Analytics collection. Disconnect OpenAI disables FCM auto-initialization, requests topic unsubscription and FCM unregistration, and requests deletion of the Firebase installation ID.

5. User controls and deletion

  1. Sign out of LimitPulse removes the Firebase session from this device. Server-side Claude data remains so it is available after signing back into the same account.
  2. Delete LimitPulse account deletes the Firebase Auth user and that user's server-side Claude credentials and usage snapshot. Android asks for fresh Google authorization. On iPhone, the app asks for fresh Apple authorization and revokes the Apple authorization token before deletion.
  3. Disconnect OpenAI deletes the encrypted Android authentication file and Keystore key or the iPhone Keychain item, clears transient Cloudflare state, disables FCM auto-initialization, requests FCM cleanup, and cancels scheduled account checks.
  4. Disconnect Claude removes the Claude OAuth session and cached Claude quota snapshot from the LimitPulse backend. It does not disconnect OpenAI or delete the user's Anthropic account.
  5. Delete local history deletes usage snapshots, quota windows, Token Activity history, reset evidence, sync state, and stored public signals from the Room database on Android or SwiftData store on iPhone.

These controls delete the corresponding LimitPulse data. They do not delete the user's Google, Apple, OpenAI, or Anthropic account. Provider-account deletion must be performed through the applicable provider.

An external LimitPulse account-deletion request can be started at the account deletion page. The page explains what is deleted, what remains local, and how to request deletion without sending a password, one-time code, or token.

6. Permissions

On Android, other network, wake, boot, and foreground-service permissions are contributed by FCM and WorkManager for delivery and scheduled work. On iPhone, background tasks and remote notifications remain controlled by iOS. Neither app requests contacts, location, camera, microphone, phone, SMS, advertising ID, or unrestricted storage access.

7. Security and limitations

Network traffic uses HTTPS and cleartext transport exceptions are not enabled. Release builds contain no network body logger or developer-operated crash reporter. Firebase Analytics events are restricted to the bounded fields described above and can be disabled in Settings. WebView is restricted to a Cloudflare fallback at the exact https://chatgpt.com origin and WebView debugging is disabled.

OpenAI usage endpoints and the Anthropic OAuth usage contract used by LimitPulse may change. The app preserves the last successful value and displays an explicit state when a request fails. Android and iOS may delay background work. Force-stopping on Android or force-quitting on iPhone can block background checks and alerts until the user opens the app again.

8. International processing

OpenAI, Anthropic, the LimitPulse backend, and Google/Firebase may process data in countries other than the user's country under their respective terms and privacy policies. Applicable jurisdiction-specific rights and disclosures may vary by launch country.

9. Children

LimitPulse is not designed or directed to children. Its intended audience is adults who already control an eligible OpenAI or Anthropic account.

10. Changes and contact

Material changes will be reflected by updating this policy and its effective date.

Developer/operator: YongTech

Privacy contact: pyhppyyhh0307@daum.net

한국어

LimitPulse 개인정보처리방침

1. 적용 범위 및 운영자

본 방침은 YongTech가 제공하는 Android 및 iPhone 앱 LimitPulse에 적용됩니다. LimitPulse는 OpenAI 또는 Anthropic과 제휴하거나 보증을 받은 서비스가 아닌 독립적인 서드파티 사용량 확인 앱입니다.

LimitPulse는 Android에서 Google, iPhone에서 Apple 로그인을 사용하는 별도의 Firebase 기반 LimitPulse 계정을 만들 수 있습니다. OpenAI와 Claude 연결은 사용자가 이미 관리하는 해당 제공자 계정이며, LimitPulse가 제공자 계정을 생성하거나 관리하지 않습니다.

2. 앱이 처리하는 데이터

LimitPulse 계정.

Android는 Google 로그인, iPhone은 Apple 로그인을 Firebase Authentication을 통해 사용합니다. Firebase는 로그인 유지에 필요한 사용자 ID와 인증 기록을 보관합니다. Android의 Google 응답에는 이메일 주소, 표시 이름 및 프로필 사진 URL이 포함될 수 있습니다. iPhone의 Apple 로그인은 이름과 이메일 scope를 요청하지 않습니다. 앱은 제공자 프로필 정보를 표시하거나 로컬 사용 이력에 복사하지 않습니다. LimitPulse 백엔드는 Firebase ID 토큰을 검증한 뒤 사용자 ID와 로그인 제공자만 사용하며 이메일, 이름 또는 사진 claim을 저장하거나 로그에 남기지 않습니다.

LimitPulse 계정 없이도 OpenAI 사용량과 공개 신호를 사용할 수 있지만, 개인 Claude 기능에는 계정이 필요합니다. 모든 개인 요청에는 Firebase App Check 증명과 현재 Firebase ID 토큰이 함께 있어야 합니다.

OpenAI 인증 정보 및 계정 식별자.

로그인은 시스템 브라우저에서 진행됩니다. LimitPulse는 OpenAI 비밀번호를 요청하거나 전달받지 않습니다. 기기 인증 결과, 액세스 토큰, 리프레시 토큰, ID 토큰 및 ChatGPT 계정 식별자는 앱이 HTTPS를 통해 OpenAI에 읽기 전용 사용량 요청을 보내기 위해 모바일 기기 안에서 처리됩니다.

Android는 Android Keystore에서 생성한 키와 AES-GCM으로 인증 정보를 암호화합니다. iPhone은 전체 인증 bundle을 기기 전용·비동기화 Keychain 항목에 저장합니다. 인증 정보는 LimitPulse 공개 신호 서비스로 전송되지 않습니다.

Claude 인증 정보.

Claude 연결은 앱에서 시작하며 시스템 브라우저의 Anthropic 소유 HTTPS 페이지를 엽니다. LimitPulse는 Anthropic 비밀번호를 요청하거나 전달받지 않습니다. 사용자는 일회용 인증 코드를 앱으로 가져오며, 이 코드는 Firebase App Check와 로그인한 사용자의 Firebase ID 토큰과 함께 HTTPS로 LimitPulse 백엔드에 전송되어 공식 Claude Code 인증 흐름에서 교환됩니다. 일회용 코드는 휴대폰이나 서비스 로그에 보관하지 않습니다.

교환된 Claude OAuth 세션은 Firebase 사용자 ID를 서버 비밀키로 HMAC 처리해 선택한 접근 제한 사용자별 서버 디렉터리에 보관되고, 연결한 구독의 5시간 및 7일 한도를 읽는 데만 사용됩니다. Claude OAuth 토큰은 Android 또는 iPhone 앱으로 반환되지 않습니다. Claude 연결 해제 시 서버 세션과 캐시된 Claude 한도 스냅샷을 삭제합니다.

사용량 및 로컬 기록.

앱은 OpenAI에서 할당량, 리셋 시각, 요금제 및 Token Activity 값을 받고, LimitPulse Claude 사용량 서비스에서 지원되는 두 한도 구간을 받아 현재 상태와 기록에 필요한 최소 정보만 정규화하여 Android의 앱 전용 Room 데이터베이스 또는 iPhone의 SwiftData 저장소에 저장합니다. LimitPulse는 사용량 기록에는 대화, 프롬프트, 소스코드, 프로필 사진 또는 이메일 주소가 포함되지 않습니다.

OpenAI 사용량과 로컬 기록은 기기에서 처리되며 LimitPulse 백엔드, Firebase Analytics 또는 오류 보고 서비스로 업로드되지 않습니다. 백엔드는 연결된 앱에 표시하기 위한 최신 Claude 한도 스냅샷을 임시 보관하며 Claude 프롬프트, 대화 또는 소스코드를 받지 않습니다.

Firebase 서비스.

Firebase Cloud Messaging(FCM)이 구성된 릴리스에서는 Google/Firebase가 리셋 검증 신호 전달에 필요한 데이터를 처리합니다. 여기에는 Firebase 설치 ID, 앱 버전, Firebase 사용자 에이전트 및 메시징 등록 데이터가 포함될 수 있습니다. LimitPulse는 고정된 공개 리셋 신호 토픽에만 FCM을 사용합니다.

FCM 메시지에는 제한된 공개 이벤트 유형, 공개 이벤트 식별자, 공개 출처 분류와 게시 시각만 포함됩니다. OpenAI 토큰, 쿠키, 계정 식별자, 사용량, 프롬프트, 대화 및 소스코드는 FCM 메시지에 포함되지 않습니다.

Firebase Analytics는 기본적으로 켜져 있으며 설정에서 끌 수 있습니다. LimitPulse는 첫 실행, 활성 사용, 계정 인증 성공, 계정 로그아웃·삭제, 제한된 제공자 연결·해제 라벨을 기록합니다. Analytics 사용자 ID를 설정하지 않으며 이벤트에 이메일, AI 토큰, 프롬프트, 대화, 소스코드 또는 사용량 값을 보내지 않습니다. Firebase는 자체 약관에 따라 앱 인스턴스 식별자, 기기·상호작용 정보와 마스킹된 IP 주소에서 파생한 일반 위치를 처리합니다. 광고 ID 수집과 광고 개인화 신호는 꺼져 있으며, iPhone은 IDFV 수집도 끄고 AdSupport가 없는 AnalyticsCore 제품을 사용합니다. LimitPulse는 광고, Crashlytics, Firebase Performance Monitoring 또는 BigQuery 전송 측정항목 내보내기를 사용하지 않습니다.

공개 리셋 신호 서비스.

LimitPulse 공개 신호 서비스는 공개 리셋 공지를 읽고, 명시적인 리셋 완료 근거를 분류하고, 공개 이벤트를 중복 제거한 뒤 고정 FCM 토픽 신호를 보냅니다. 이 서비스는 OpenAI 앱 데이터 업로드 엔드포인트를 제공하지 않으며 앱에서 OpenAI 계정 데이터를 받지 않습니다. 같은 백엔드는 별도로 앞서 설명한 App Check와 계정 양쪽으로 보호된 Claude 및 계정 삭제 엔드포인트를 제공합니다.

3. 이용 목적

데이터는 다음 목적으로만 사용됩니다.

LimitPulse는 개인정보 또는 민감정보를 판매하거나 광고에 이용하지 않고, 광고 프로필을 만들지 않으며, Codex 작업을 실행하거나 리셋 크레딧을 소비하지 않고, 대화를 읽거나 수정하지 않습니다.

4. 저장, 보유 및 백업

암호화된 인증 정보와 로컬 기록은 앱 전용 모바일 저장소에 보관됩니다. Android는 Android Keystore·암호화 인증 파일·Room을, iPhone은 기기 전용 Keychain 항목·SwiftData를 사용합니다. 로컬 기록은 Android 및 iPhone backup에서 제외됩니다. 인증 정보는 연결 해제, 복구 불가능한 저장 오류, 앱 데이터 삭제 또는 앱 제거 시까지 보관됩니다. 로컬 기록은 앱 내 보유 동작을 따르며 언제든 삭제할 수 있습니다. 사용자별 Claude 인증 정보와 최신 제한형 Claude 스냅샷은 Claude 연결을 해제하거나 LimitPulse 계정을 삭제할 때까지 LimitPulse 서버에 남습니다.

Firebase 인증, Analytics, 설치 및 메시징 데이터에는 Google/Firebase의 보유 정책이 적용됩니다. Analytics를 끄면 이후 앱 Analytics 수집이 중단됩니다. OpenAI 연결 해제 시 FCM 자동 초기화를 비활성화하고, 토픽 구독 해제, FCM 등록 해제 및 Firebase 설치 ID 삭제를 요청합니다.

5. 사용자 제어 및 삭제

  1. LimitPulse 로그아웃은 이 기기에서 Firebase 세션을 제거합니다. 같은 계정으로 다시 로그인할 수 있도록 서버측 Claude 데이터는 유지됩니다.
  2. LimitPulse 계정 삭제는 Firebase Auth 사용자와 해당 사용자의 서버측 Claude 인증 정보·사용량 스냅샷을 삭제합니다. Android에서는 새 Google 인증을 요청합니다. iPhone에서는 새 Apple 인증을 요청하고 Apple 인증 토큰을 폐기합니다.
  3. OpenAI 연결 해제는 Android의 암호화 인증 파일·Keystore 키 또는 iPhone의 Keychain 항목을 삭제하고, 임시 Cloudflare 상태를 지우고, FCM 자동 초기화를 끄고, FCM 정리를 요청하며, 예약된 계정 확인 작업을 취소합니다.
  4. Claude 연결 해제는 LimitPulse 백엔드의 Claude OAuth 세션과 캐시된 Claude 한도 스냅샷을 삭제합니다. OpenAI 연결이나 사용자의 Anthropic 계정은 삭제하지 않습니다.
  5. 로컬 기록 삭제는 Room 데이터베이스에서 사용량 스냅샷, 할당량 구간, Token Activity 기록, 리셋 근거, 동기화 상태 및 저장된 공개 신호를 Android Room 또는 iPhone SwiftData에서 삭제합니다.

위 제어 기능은 해당 LimitPulse 데이터를 삭제합니다. 사용자의 Google, Apple, OpenAI 또는 Anthropic 계정은 삭제하지 않으며, 제공자 계정 삭제는 해당 제공자에서 직접 진행해야 합니다.

외부에서도 계정 삭제 안내 페이지에서 LimitPulse 계정 삭제 요청을 시작할 수 있습니다. 이 페이지는 삭제되는 정보, 기기에 남는 정보 및 비밀번호·일회용 코드·토큰을 보내지 않고 요청하는 방법을 설명합니다.

6. 권한

Android의 기타 네트워크, 절전 해제, 부팅 및 포그라운드 서비스 권한은 메시지 전달과 예약 작업을 위해 FCM 및 WorkManager가 제공합니다. iPhone의 background task와 원격 알림은 iOS가 제어합니다. 두 앱 모두 연락처, 위치, 카메라, 마이크, 전화, SMS, 광고 ID 또는 무제한 저장공간 권한을 요청하지 않습니다.

7. 보안 및 제한사항

네트워크 통신은 HTTPS를 사용하며 평문 전송 예외를 허용하지 않습니다. 릴리스 빌드에는 네트워크 본문 로거나 개발자 운영 오류 보고기가 없습니다. Firebase Analytics 이벤트는 위에서 설명한 제한된 필드만 사용하며 설정에서 끌 수 있습니다. WebView는 정확히 https://chatgpt.com origin의 Cloudflare fallback으로 제한되고 WebView 디버깅은 비활성화됩니다.

LimitPulse가 사용하는 OpenAI 사용량 엔드포인트와 Anthropic OAuth 사용량 계약은 변경될 수 있습니다. 요청 실패 시 앱은 마지막 성공값을 보존하고 명시적인 상태를 표시합니다. Android와 iOS는 백그라운드 작업을 지연할 수 있습니다. Android 강제 종료 또는 iPhone 강제 종료 후에는 앱을 다시 열 때까지 백그라운드 확인과 알림이 차단될 수 있습니다.

8. 국외 처리

OpenAI, Anthropic, LimitPulse 백엔드 및 Google/Firebase는 각자의 약관 및 개인정보처리방침에 따라 사용자의 국가가 아닌 곳에서 데이터를 처리할 수 있습니다. 적용되는 지역별 권리와 고지사항은 출시 국가에 따라 달라질 수 있습니다.

9. 아동

LimitPulse는 아동을 대상으로 설계되거나 제공되지 않습니다. 이미 적격한 OpenAI 또는 Anthropic 계정을 관리하는 성인을 대상으로 합니다.

10. 변경 및 문의

중요한 변경사항은 본 방침과 시행일을 업데이트하여 반영합니다.

개발자/운영자: YongTech

개인정보 문의: pyhppyyhh0307@daum.net