Keke Privacy Policy

Effective Date: March 20, 2026  |  Last Updated: October 28, 2026

This English version is provided for your convenience. In the event of any discrepancy between this English version and the Chinese version, the Chinese version shall prevail.

Welcome to the Keke app.

Keke is a recording tool and beta community for climbers. We take your personal information and privacy seriously. This Privacy Policy explains how we collect, use, store, share, and protect your personal information when you use the Keke app and related services, and the rights you have under applicable law.

Please read and fully understand this Policy before using the Service. By agreeing, registering, logging in, and using the Service, you confirm that you have understood and agreed to the contents of this Policy.

1. Who We Are

The Keke app is operated by Shanghai Yanzhe Technology Co., Ltd. (上海岩者科技有限公司).

Contact: kekeclimbing@gmail.com

2. Information We Collect

To provide our product features and services, we may collect the following information:

1. Account and Login Information

When you register, log in, or use account features, we may collect:

Purpose: Account registration, login verification, account identification, account security, and account recovery.

2. Profile Information

You may voluntarily fill in or upload the following:

Purpose: To populate your profile, display your personal information, and help you record and manage climbing-related materials.

3. Content You Actively Import, Record, Upload, Publish, or Generate

When you use recording, backup, sharing, or public-publishing features, we may process the following information:

Purpose: To enable video organization, climbing-record generation, cloud backup, targeted sharing with friends, content import, public display, similar-route matching, and community interaction.

About external share links

When you tap the share button on the player page, the system generates a short-lived token URL (formatted as s.kekeclimbing.top/s/:token) that lets unauthenticated visitors view the shared clip in their browser. This mechanism has the following properties:

4. Location Information

After you grant location permission, we may obtain your precise location information while you are using the app, to match nearby gyms, associate climbing locations, and assist in generating climbing records.

Location is optional. If you deny location permission, records may be marked as "Unknown Gym," and you can still manually select a gym; this does not affect the core recording functionality.

HarmonyOS uses the system approximate-location capability for nearby locations. When you import a video from your photo library and grant media-location permission, we also read the capture location already stored in the selected video to match the gym where it was recorded. This differs from obtaining your current location. If you deny media-location permission, you can still import the video and select a gym manually.

When you search for a city on the iOS gym map, your device queries both Apple Maps and Keke servers. Keke receives the city search terms and interface language to search its supplementary city data and return candidate names and center coordinates. Requests carry your existing login credentials for authentication and do not require permission to access your current location. We do not save city search terms from this endpoint as server-side search history. Necessary service logs may include account identifiers, IP addresses, endpoint paths, and response statuses for security and troubleshooting, and are handled as described in Section 5.

The supplementary city data uses a copy of GeoNames data bundled on our servers. Searches do not connect to GeoNames or send your search terms, location, or account information to GeoNames.

5. Device Permissions

To provide certain features, we may access the following permissions after obtaining your authorization:

On HarmonyOS, after you enable idle background uploads, the system may schedule tasks in the background to read photo-library videos associated with pending upload records, compress them, and back them up to your account. Background processing may also continue media-processing tasks you have already submitted; it does not scan and upload the entire photo library unrelated to those tasks. You can turn off idle background uploads in app settings and revoke photo-library permission in system settings.

On HarmonyOS, photo-library read permission also allows Smart Scan, when you actively use it, to read video indexes, thumbnails, and video frames within the dates or scan range you select, and identify climbing footage locally on your device. Scanning alone does not automatically upload videos you have not confirmed for import. Photo-library write permission also allows deletion of eligible items you actively select on the import page, subject to system confirmation. Cancelling that confirmation does not delete the items; the app does not automatically delete photo-library content in the background.

For media tasks you actively submit, where supported by the system and after obtaining the required permissions and your authorization for background execution, HarmonyOS may use a special-scenario background task to continue local video analysis, compression, or transcoding, with a system task notification. This capability is limited to the relevant media tasks and is not used to keep the app running indefinitely. When the task completes, is cancelled, you sign out, or the system revokes authorization, the related processing ends and the system task stops after resources are released. Without authorization, processing remains available in the foreground, but background execution may pause.

6. AI Analysis Information

When you use the AI video analysis feature:

The AI analysis currently runs on your device; the analysis data is not uploaded to our servers. You may choose to use or skip it.

7. Route-Feature Processing for Public Content

After you actively set a climbing video or clip to public, we may extract feature information from that public content for matching similar climbing routes, including hold detection results and the spatial distribution of holds and other route-structure features.

We process such route features for the purpose of enabling similar-route matching and displaying other users' beta videos and reference climbing clips, helping users discover similar climbing clips shared publicly by others.

Such processing applies only to content you actively set to public; it does not apply to default-private content or content shared only with specific friends. The processing is not used to identify faces, personal identities, bodily characteristics, or biometrics.

Once you unpublish, new public matching of the content stops immediately. Due to cache updates, index refreshes, and similar technical reasons, complete removal of related feature data may take a reasonable processing period.

8. Friend and Targeted-Sharing Information

When you use friend features, we may process the following information:

Purpose: Friend management, targeted sharing, in-app notifications, allowing tagged friends to view relevant videos, and allowing tagged friends to import videos to their personal library.

When you tag a specific friend, our server verifies whether that friend has the corresponding access, and provides a controlled access path only to authorized friends. This feature is targeted sharing with specific friends and does not amount to public publishing. Tagged friends may choose to watch only, or to import the video to their personal library. If they choose to import, an independent copy is generated under their account, visible only to them by default unless they later actively set it to public. Subsequent deletion or public-state changes by the original uploader will not directly affect independent copies lawfully imported by others.

9. Device State Information

We may access your device's thermal state and low-power mode information.

Purpose: To dynamically adjust video upload strategy and avoid heavy operations when the device overheats or battery is low.

This information is used locally only and is not uploaded to our servers.

10. Device and Log Information

To troubleshoot runtime errors, the app stores error timestamps, error messages, stack traces, and related technical context locally on your device. These error logs are not automatically uploaded to a third-party crash-monitoring platform. If you actively send a log through system sharing, it is passed to the recipient you select.

When you submit text feedback, we receive the feedback content, optional contact details, app version, and platform you provide; local error logs are not automatically attached.

Google ML Kit on Android may also send SDK diagnostics and usage metrics to Google, as described in Section 6. This is separate from processing videos and images locally.

11. Membership and Payment Information

New HarmonyOS versions offer monthly and yearly auto-renewable subscriptions through Huawei In-App Purchases (IAP). To purchase, restore, and manage subscriptions, we provide Huawei with the product identifier, a random purchase-intent identifier, and an app-account-derived identifier. We process Huawei-signed order credentials, subscription-chain identifiers, products, transaction dates, expiry dates, auto-renewal status, and refund/revocation status, using server queries and notifications to verify benefits. We do not receive your Huawei account password or payment password. You can cancel auto-renewal through Huawei's subscription management; benefits for the paid period remain until their applicable expiry. Historical Alipay orders and benefits continue to be processed for the purposes below.

When you subscribe to Keke PRO through the iOS App Store, or purchase or manually renew prepaid membership through Alipay in the Android app downloaded from our website or the HarmonyOS app, we may process:

Purpose: To verify transactions, grant or revoke PRO benefits, reconcile payments, prevent cross-account misuse, and handle support requests.

We do not collect bank card numbers, payment passwords, or App Store account passwords. Apple processes iOS App Store payments. Alipay processes Alipay payments in the Android app downloaded from our website and in the HarmonyOS app; Keke provides the order number, amount, and product description needed for payment and receives the necessary transaction result. Apple login may provide an email address to Keke, but we do not receive your Apple ID email through the App Store payment interface. Related order and benefit data is stored on Alibaba Cloud servers and handled as described in Sections 5 and 8 of this Policy.

3. How We Use Your Information

We may use your personal information for the following purposes:

  1. Completing account registration, login, identity verification, and account recovery;
  2. Generating, displaying, editing, and managing climbing records;
  3. Storing videos, avatars, thumbnails, and other content you actively upload;
  4. Matching gyms via location to assist record organization;
  5. Supporting friend management, friend tagging, targeted sharing, and import;
  6. Supporting community features such as displaying, browsing, liking, and favoriting public content;
  7. Extracting route features from public content for similar-route matching and for displaying other users' beta videos or reference climbing clips;
  8. Performing safety moderation on public content to maintain community order;
  9. Verifying PRO subscription transactions, unlocking or revoking membership benefits, and receiving subscription renewal and refund notifications;
  10. Responding to your deletion, account-deletion, unpublishing, and similar requests;
  11. Ensuring the normal operation and security of the Service;
  12. Other purposes permitted by applicable law.

We will not use your personal information for purposes unrelated to those above. If we need to use your information for other purposes, we will notify you and obtain your separate consent as required by applicable law.

4. Visibility of Your Content

  1. Your climbing videos and climbing records are visible only to you by default.
  2. Only after you actively set a video or clip to public will the content and related metadata (such as gym, route color, route grade, and tags) appear in community contexts and potentially be viewed by other users on your profile, on the gym page's "Discover," or in similar-route matching.
  3. For content you actively set to public, other users may generally only watch, like, and favorite it on the platform. Making content public does not grant others the right to import it into their personal libraries, republish it, or disseminate it off-platform.
  4. When you use the friend-tagging feature, tagged friends may watch the relevant video after the platform verifies their access. This is targeted sharing with specific friends and does not amount to public publishing.
  5. Tagged friends may choose to import the relevant video into their personal library. If they choose to import, an independent copy is generated under their account, visible only to them by default unless they later actively set it to public.
  6. You may unpublish at any time. Upon unpublishing, new public displays and new matching hits stop immediately; prior likes, favorites, and similar actions by other users do not grant continued access to the content. Due to cache updates, index refreshes, and similar technical reasons, complete removal may take a reasonable processing period.

5. How We Store Your Information

  1. Structured data (such as account information and climbing records) is stored on Alibaba Cloud servers.
  2. File content such as videos, thumbnails, and avatars is stored on Alibaba Cloud OSS.
  3. Retention periods are generally as follows:
  4. Where required by law, or necessary to fulfill legal obligations, resolve disputes, or ensure transaction and system security, we may extend the retention period for certain information within the scope permitted or required.

6. How We Share, Transfer, and Publicly Disclose Your Information

1. Sharing

To provide certain features, we may share necessary information with third-party service providers, but only to the extent necessary to deliver those features. The main third parties currently involved are:

(1) Alibaba Cloud OSS / CDN

Purpose: Storage and distribution of videos, thumbnails, avatars, and other content you actively upload.

Information potentially involved: video files, thumbnails, avatars, and technical information necessary for file access.

(2) Alibaba Cloud SMS Verification Service

Purpose: Phone-number verification-code login.

Information potentially involved: phone number and information necessary for verification-code delivery.

(3) Sign in with Apple

Purpose: Login via Apple account.

Information potentially involved: account identifier returned by Apple and any email address required for login.

(4) AMap Open Platform

Purpose: Gym search, address lookup, and location matching.

Information potentially involved: search keywords, location coordinates, and other information necessary for queries.

AMap APIs are called by our server; the AMap SDK is not embedded in the app.

(5) Alibaba Cloud Content Moderation

Purpose: Safety review of content you actively set to public.

Information potentially involved: frame-extracted images from public videos and textual information necessary for review.

Such review applies only to content you actively set to public; it does not apply to default-private content or content shared only with specific friends. Public content is generally displayed only after passing review.

(6) WeChat OpenSDK (integrated via fluwx)

Provider: Shenzhen Tencent Computer Systems Company Limited.

Purpose: Sharing content you select to WeChat, handling shared links when returning from WeChat to the app, and opening a WeChat customer-service conversation when you actively contact support.

Information potentially involved: the link, title, description, and thumbnail you choose to share; the enterprise identifier, customer-service address, and invocation result required to open customer service. Android and HarmonyOS check whether WeChat is installed. On iOS, the SDK may read and write the clipboard to transfer relevant information between the app and WeChat. Messages you actively send in a WeChat customer-service conversation are processed by the WeChat customer-service service.

HarmonyOS uses WeChat OpenSDK for sharing and return links. When you actively contact support, it opens the WeChat customer-service link in an external browser; the browser and WeChat handle access to that link and the subsequent handoff.

Keke currently does not use WeChat login or WeChat Pay. See the WeChat Open SDK Personal Information Processing Rules and WeChat Privacy Policy.

(7) Apple Inc. (App Store Server API / App Store Server Notifications v2)

Purpose: To verify the authenticity of "Keke PRO" subscription transactions completed through the App Store, query current subscription status, and receive subscription state-change notifications such as renewals and refunds.

Information potentially involved: the subscription transaction credential (JWS Token) issued by Apple, original transaction ID, product ID, and subscription environment identifier.

We do not share your Keke user ID, climbing records, or any other personal content with Apple via this interface, nor do we receive your Apple ID email or payment information through it.

(8) Alipay App Payment Client SDK (Android website-distributed app and older HarmonyOS versions)

Purpose: To complete prepaid membership purchases and manual renewals in the Android website-distributed app and HarmonyOS app and verify payment results. When you initiate payment on HarmonyOS, the app passes the signed order to the Alipay SDK, checks whether Alipay can be opened, and receives the payment status.

Information involved: Keke order number, product description, order amount, and transaction ID and payment status returned by Alipay. Alipay handles bank card numbers and payment passwords; Keke does not receive them.

The Alipay SDK may also process necessary device, network, and diagnostic information for payment security and risk prevention. See the Alipay App Payment Client SDK Privacy Notice for details.

(9) Google ML Kit (Android)

Provider: Google LLC.

Purpose: Recognizing friend QR codes via mobile_scanner. The Android camera also includes the pose-detection SDK; it currently creates a detector without enabling the subject-tracking image-analysis stream.

Information potentially involved: Google's SDK disclosure lists device and app information, installation-level identifiers, performance metrics, API configuration, input and output sizes, feature versions, event types, and error codes for diagnostics and usage analytics. Pose-detection remote-configuration diagnostics may also use Firebase Remote Config and Firebase Installations. This disclosure does not mean every invocation sends every listed field.

ML Kit processes input images, videos, and recognition results on-device and does not send that content to Google. Diagnostics and usage metrics may be transmitted to Google servers. See ML Kit Terms & Privacy, Android Data Disclosure, and the Google Privacy Policy.

(10) Alibaba Cloud Financial-grade ID Verification SDK (adult identity recovery)

Purpose: Checking identity consistency and adult eligibility when an adult who has forgotten this device’s minor-mode PIN voluntarily requests identity verification to turn off minor mode on this device. It does not establish guardianship. This feature requires server activation. The app calls SDK initialization, obtains verification metadata, and starts verification only after you enter the required details and separately consent.

Information potentially involved: legal name, mainland China resident ID number, face images or video streams, and device, network, and security information needed for verification, such as device model, operating system, app information, Android ID/IDFV, and network type. See the provider’s policy for the SDK’s processing scope. KEKE temporarily forwards the name and ID number to Alibaba Cloud; the SDK captures the face. KEKE does not log ID numbers, deliberately retain face or ID images, or request verification media to be returned.

Refusing or cancelling verification does not turn off minor mode; support remains available. The provider’s processing and retention rules are described in its Financial-grade ID Verification SDK Privacy Policy. The server checks the result only to authorize turning off minor mode on this device. Turning it off clears its usage count; enabling it again requires a new PIN.

(11) Apple MapKit (iOS gym map)

Purpose: Display the base map and search for cities on the gym map page. Your device connects directly to Apple Maps for the base map and Apple city search. Keke servers also provide supplementary city search and return listed gyms for the area shown on the map. Keke's handling of city queries is described under “Location Information” in Section 2.

Information potentially involved: the map area being viewed, city search terms you enter, and network information needed to provide maps. With your location permission, your current location can be used to show nearby gyms. Keke does not explicitly send your Keke account identifier, climbing records, or videos to Apple through the Apple Maps interface. City search remains available without location permission.

See Apple Maps & Privacy and Location Services & Privacy for Apple's processing practices.

(12) Huawei AppGallery Update Service (HarmonyOS)

Purpose: To check for a store update for this app and open the system update interface after you confirm an update. The app reads the available version code, version name, and update status provided by the store. It does not supply your climbing videos, records, or friends list to that update interface. Huawei AppGallery handles store updates under its service notices.

(13) Huawei In-App Purchases (HarmonyOS IAP Kit)

Purpose: Provide Huawei checkout, auto-renewable subscriptions, purchase restoration, subscription management, and transaction verification. Information may include product identifiers, random purchase-intent identifiers, app-account-derived identifiers, order and subscription identifiers, signed transaction credentials, purchase and expiry dates, and renewal or refund status. Huawei handles payment and Huawei account authentication. Keke uses necessary transaction information to associate and maintain your membership benefits; it does not send climbing videos, friend lists, or account passwords through this interface.

(14) HUAWEI ID Sign-in (HarmonyOS Account Kit)

After you accept the sign-in agreements and choose HUAWEI ID sign-in, we use the identity credential and account identifier returned by Huawei to verify your identity and create or sign in to your Keke account. We do not receive your Huawei account password or request your phone number, avatar, or nickname through this sign-in interface. You can sign in and browse without a bound phone number; public publishing and commenting require binding a phone number through SMS verification.

2. Transfer

Unless we obtain your separate consent or applicable law provides otherwise, we will not transfer your personal information to any company, organization, or individual.

3. Public Disclosure

Unless we obtain your separate consent or applicable law provides otherwise, we will not publicly disclose your personal information.

4. Legal Disclosure Exceptions

Where required by applicable law, or necessary to handle litigation or disputes, protect public safety, or protect our or a third party's lawful rights, we may lawfully process, share, or disclose related information.

7. Your Rights

You have the following rights in relation to your personal information and content, under applicable law:

  1. Access: view your account information, climbing records, and uploaded content;
  2. Correction: modify your nickname, avatar, and other editable information;
  3. Deletion: delete your records, videos, or other content;
  4. Unpublish: revert published content to non-public status;
  5. Cancel subscription: review and cancel your "Keke PRO" subscription in iPhone Settings → Apple ID → Subscriptions;
  6. Withdraw permissions: turn off camera, microphone, photo library, location, media location, and similar permissions in system settings;
  7. Delete your account: initiate account deletion within the app;
  8. Deletion of account data: after account deletion, we will delete related data in accordance with our rules.

To exercise these rights, please use the relevant in-app features; if a function is not available, you may contact us via the email listed in this Policy.

8. Account Deletion and Data Removal

  1. You may initiate account deletion within the app.
  2. After account deletion, we will delete personal information and content associated with that account, including but not limited to:
  3. Where applicable law requires retaining certain information, or where necessary to fulfill legal obligations, resolve disputes, or maintain system security, we may retain relevant information within the necessary scope, and delete or anonymize it after the retention period expires.

9. How We Protect Your Information

We take reasonable and necessary technical and organizational measures to protect your personal information from unauthorized access, disclosure, tampering, loss, or damage, including:

Please understand that no internet environment is absolutely secure, and we cannot guarantee absolute security of any transmission or storage method. Please safeguard your account information and attend to your device security.

10. Protection of Minors

  1. If you are a minor, please use the Service under the guidance of your guardian, and only after your guardian has read and agreed to this Policy.
  2. Guardians should guide and supervise minors' use of the Service.
  3. If you are under 14, we treat your personal information as sensitive personal information in accordance with the Personal Information Protection Law of the People's Republic of China, and will provide the Service only after obtaining your guardian's consent.

11. Updates to This Policy

  1. We may update this Policy due to changes in product features, laws and regulations, third-party services, and similar circumstances.
  2. Updates will be communicated to you via in-app notices, pop-ups, or other reasonable means.
  3. For material changes, we will notify you through more prominent means.

12. Contact Us

If you have questions, comments, or suggestions about this Policy, or wish to exercise rights relating to your personal information, you may contact us:

Email: kekeclimbing@gmail.com