Penjelasan privasi dengan bahasa sederhana

Privasi di RingMatcher

Pelajari apa yang dikirim RingMatcher untuk analisis, apa yang sengaja disimpan, dan apa yang tercakup saat Anda membagikan Ringprint.

Jawaban yang Anda kirim

Alur gratis memproses jawaban gaya dan belanja yang Anda pilih, serta catatan opsional. Data tersebut dikirim ke server RingMatcher hanya ketika Anda meminta hasil dan digunakan untuk membuat serta memvalidasi hasil itu.

Di situs web dan aplikasi native, server RingMatcher meneruskan jawaban ini beserta catatan opsional ke OpenRouter, yang mengarahkannya ke penyedia model AI untuk menulis hasil. Pengaturan tanpa retensi dan penolakan pengumpulan diminta. Server lalu memeriksa bahwa hasil tersebut mematuhi pilihan Anda; jika layanan AI tidak tersedia atau hasil gagal dalam pemeriksaan itu, hasil berbasis aturan dibuat sebagai gantinya.

Gambar opsional dan pemrosesan AI

Foto bersifat opsional dan foto wajah tidak pernah diwajibkan. Maksimal tiga gambar diperkecil di browser dan dapat melewati server RingMatcher ke penyedia AI yang dikonfigurasi untuk permintaan itu. RingMatcher tidak sengaja menyimpan berkas gambar unggahan. Pengaturan tanpa retensi dan penolakan pengumpulan diminta, tetapi infrastruktur, ketentuan, dan kewajiban hukum penyedia tetap berlaku.

Instruksi gambar hanya mengizinkan petunjuk desain visual serta melarang identifikasi atau inferensi sifat sensitif. Teks atau instruksi di dalam gambar diabaikan.

Tautan yang dibagikan

Tautan berbagi memuat hasil yang terlihat, rute berlian, kelompok anggaran, dan bahasa konten di fragmen URL. Tautan tidak pernah memuat berkas gambar unggahan. Siapa pun yang memiliki tautan dapat membaca informasi terenkode, jadi tinjau sebelum membagikan.

Fragmen terbatas dapat memindahkan bidang Ringprint yang terlihat ke pencari peritel. Fragmen tidak dikirim bersama permintaan HTTP halaman dan dihapus dari bilah alamat setelah diimpor, tetapi pemegang tautan yang belum diimpor masih dapat membacanya.

Native app data, purchases, and recovery (authoritative English disclosure)

This native-app section is the authoritative English disclosure. The surrounding translated text may not yet describe every native-app behavior.

Creating a Ringprint in the native app sends the questionnaire answers, the content locale, and a random installation identifier to RingMatcher for AI matching, including when no photos are attached. If you add up to three photos, the app re-encodes them and includes the device-resized images and their context labels in that request. If AI matching is unavailable, the app can generate a rules-based result on the device. Cookies are omitted. RingMatcher then sends the answers and images to OpenRouter, the configured AI gateway, with zero-data-retention and data-collection-denial settings requested. RingMatcher does not intentionally persist the match request body or uploaded image files, and saved Ringprints never contain a photo file or image payload. OpenRouter, any routed model provider, and their infrastructure, terms, and legal obligations still apply.

The app stores saved Ringprints in AsyncStorage, including the questionnaire answers, optional note, generated result, locale, source, timestamps, and image-analysis counts. Paid-plan snapshots, generated guidance, setup inputs, saved candidate specifications and quote notes, comparison results, and tool activity are also stored in AsyncStorage; source snapshots omit the free-form Ringprint note. These records are app-local but are not encrypted by AsyncStorage. Photo files are excluded. A random installation UUID and purchase capabilities—including draft and access tokens, obfuscated purchase-binding identifiers, and a Google Play purchase token after billing—are stored separately with device-only SecureStore settings.

On Android, RingMatcher disables app backup and excludes its app files, databases, preferences, and device-to-device transfer domains from backup rules. This is intended to keep local Ringprints, plans, and purchase capabilities off Android backup and migration services. Other operating-system, device-administration, forensic, or user-initiated copying behavior is outside RingMatcher's control.

If you choose Report this result, the app sends RingMatcher the result identifier, visible result title, summary and rationale, the selected report reason, an optional note, the content locale, and the random installation identifier in a request header. The service uses the installation identifier and network address to enforce an hourly report limit. It writes the report content, reason, optional note, locale, a generated report identifier, and the receipt time to structured deployment logs so the report can be reviewed. Those report logs do not intentionally include the raw installation identifier or network address; their retention follows the deployment logging configuration. Reporting is optional and does not affect saved Ringprints or paid access.

The app sends limited plan-use events to RingMatcher to measure whether the offers help people buy and use a plan. These events cover quiz progress, visible offers or previews, checkout and price-loading outcomes, resuming purchases, opening or receiving a paid plan, exporting a report, saving a candidate, and refining a plan. Each event contains only its event name, plan type, locale, and Android or iOS platform; a fresh random event-delivery ID may accompany the request to suppress duplicate delivery, and the server adds a receipt timestamp. Events contain no installation or purchase identifiers, answers, photos, notes, candidate details, or report content. Cookies are omitted, and the app does not queue or retry these events. The server uses the network address for temporary rate limiting but does not include it in the structured analytics record. Records follow deployment-log retention. Fixed-label daily totals and hashed event-delivery references are also retained on the server for 90 days and pruned on the next event. Verified payment outcomes are counted separately using hashed payment references to prevent replay; test-provider payments are excluded. Event totals are not unique customer counts. Collection happens automatically during these actions and has no separate in-app opt-out.

Starting a Google Play checkout sends RingMatcher the selected pack, random installation UUID, local Ringprint identifier, and a SHA-256 digest of the Ringprint—not the questionnaire answers, uploaded photos, or generated plan. The server persists a digest of the installation identifier, the Ringprint identifier and digest, generated draft/access identifiers, product and pack identifiers, obfuscated Google Play binding identifiers, capability hashes, and timestamps. Claiming a purchase sends the raw Google Play purchase token to RingMatcher so it can be verified with Google Play. The server persists a digest of that token, and may persist an order-ID digest and purchase-completion timestamp; it does not write the raw purchase or order token to its purchase-state file.

The Android app also initializes Google's Play Billing library when it starts, even if you do not make a purchase. That library sends operational billing diagnostics to Google, including billing results and error details with app and Android-version metadata, to support billing functionality and diagnostics. Its transport can queue events on the device before sending them, so this is not limited to request-lifetime processing. There is no separate in-app opt-out for the billing library's diagnostics. Google's terms, privacy practices, and retention rules apply; RingMatcher does not control Google's retention period. Questions-only Ringprints also use the matching request described above; a local fallback is available when AI matching cannot finish.

The protected Google Play app-review path sends the reviewer access code and random installation UUID to RingMatcher. The server compares a one-way code digest, enforces network and installation limits, and persists only the code digest, installation digest, synthetic draft/claim/access identifiers, pack and product identifiers, and timestamps—not the plaintext review code. It returns signed, expiring plan capabilities to device-only SecureStore. This review path does not open billing or create a charge.

An unclaimed purchase draft expires after 7 days. Retrying an unclaimed, unreserved draft near expiry can renew its 7-day window while preserving the same purchase binding. One prior capability hash may be retained alongside the current hash so an in-flight request can still use its original token until that token expires. After a successful claim, its draft and claim digest mapping are retained through the paid access window so refunds and voided purchases can be reconciled. The draft capability still expires after 7 days. Paid access expires after 30 days for Shortlist or Complete Plan and after 90 days for Together Plan. Refunded grants are marked revoked and retained only through their original access expiry to prevent replay. The enabled production refund worker checks Google at server startup and is scheduled hourly; it receives raw voided purchase tokens transiently and matches their keyed digests without saving the raw tokens. Expired eligible rows are pruned atomically during this maintenance and subsequent purchase-state changes. Unexpired drafts and access records are not evicted to make room for newer records.

Saved Ringprints and completed paid plans remain on the device until you remove them, the bounded local history replaces older Ringprints, app storage is cleared, or the operating system removes the app data. Removing a completed paid plan also asks SecureStore to delete its associated capability. A plan with an unfinished purchase is protected from ordinary removal because the local draft may still be needed for Google Play recovery. RingMatcher has no user account or cross-device plan library: clearing local app data, removing protected credentials, changing devices, or uninstalling can make a consumed one-time purchase or its generated plan impossible to recover. You can choose to export completed reports as PDF in supported languages or portable HTML in every language, including after the editing window ends. Exporting uses the report already on your device and does not grant editing access on another device. Shared Together exports contain the shared alignment; exporting an individual report requires its owner’s permission. Copies you choose to save or share are controlled by their selected destination and are not removed when you delete the app’s local plan. Contact contact@ringmatcher.com for privacy or server-record deletion questions.

Batas permintaan, pengukuran pihak pertama, dan log teknis

Server dapat membuat kunci pembatasan permintaan sementara yang hanya disimpan di memori dari alamat jaringan. RingMatcher mencatat tahapan corong pihak pertama pada halaman awal, pembuatan Ringprint, berbagi dan unduhan, checkout opsional dan alur paket berbayar, serta pencari peritel. Kontrak peristiwa hanya mengizinkan nama peristiwa, nilai sumber, kanal, paket, status, tujuan CTA, posisi CTA atau locale yang tetap, boolean, serta jumlah atau skor yang dibatasi. Jawaban kuesioner, anggaran, catatan, teks arah yang dihasilkan, URL atau jalur halaman arbitrer, tujuan berupa teks bebas, pengenal pembayaran, pesan atau jejak kesalahan, data pribadi, dan teks bebas tidak disertakan.

Peristiwa pencari peritel juga dapat memuat jenis pembelian tetap dan ID peritel dari katalog yang telah ditinjau RingMatcher.

Setelah klik dari panduan ke kuis, penyimpanan sesi browser dapat menyimpan hanya nilai atribusi berikut: slug panduan yang masuk daftar izin, locale, dan posisi CTA, beserta metadata teknis versi dan kedaluwarsa. Atribusi diterima paling lama 30 menit dan dipakai satu kali untuk permintaan Ringprint beratribusi. Catatan kedaluwarsa diabaikan dan dihapus saat akses berikutnya; penyimpanan sesi juga berakhir bersama tab atau sesi browser. Data itu tidak memuat jawaban kuesioner, anggaran, foto, detail kontak, maupun pengenal akun atau pengguna.

Kami menghitung kunjungan halaman publik yang diizinkan, awal dan penyelesaian langkah kuis, serta hasil personal atau cadangan. Penyimpanan sesi dapat menyimpan kategori tetap halaman masuk, bahasa, kanal, kampanye dan penanda langkah hingga 30 menit; data kedaluwarsa dihapus saat akses berikutnya. URL perujuk diklasifikasikan secara lokal; URL lengkap, kata pencarian dan pengenal pribadi tidak dikirim. Hitungan mencerminkan aktivitas tab, bukan orang unik. Situs menyimpan pilihan kuis dan hasil gratis di penyimpanan lokal browser ini hingga 7 hari setelah digunakan agar dapat dilanjutkan. File foto dan kolom catatan tidak disimpan, tetapi hasil dapat mencerminkan informasi dalam catatan. Mulai baru atau hapus data browser akan menghapus sesi gratis ini. Rencana berbayar disimpan terpisah.

Peristiwa dapat masuk ke log deployment sesuai retensi penyedia hosting. Kami juga menyimpan total harian berkategori tetap di server selama 90 hari kalender UTC, menghapus yang lebih lama saat peristiwa berikutnya dicatat. Data tidak dikirim ke layanan analitik pihak ketiga dan tidak berisi jawaban, foto, kontak atau pengenal akun/pengguna. Kami juga menghitung penawaran, hasil checkout, dan tindakan berguna pada paket, terpisah untuk web dan aplikasi. Total pembayaran, pemenuhan, dan pengembalian dana terverifikasi berasal dari penyedia pembayaran; pembayaran uji dikecualikan. ID peristiwa acak dan referensi pembayaran yang di-hash mencegah penghitungan ganda dan dihapus setelah masa retensi analitik 90 hari. Ini jumlah peristiwa, bukan pelanggan unik atau bukti peningkatan penjualan.

Paket berbayar dan Stripe

Paket berbayar opsional memakai Stripe untuk memproses pembayaran satu kali. RingMatcher mengirimkan email tanda terima, paket yang dipilih, jumlah dan mata uang yang ditetapkan server, serta pengenal permintaan dan PaymentIntent yang dibuat. Payment Element milik Stripe mengumpulkan rincian pembayaran; RingMatcher tidak menerima atau menyimpan nomor kartu lengkap maupun kode keamanan. Setelah pembelian terverifikasi, RingMatcher mengirim tautan ke rencana Anda ke alamat tersebut melalui Resend, penyedia pengiriman email kami; Anda juga dapat mengirim tautan itu dari rencana ke alamat pilihan Anda. Resend menerima alamat dan tautan tersebut, yang memuat isi rencana (untuk Couple’s Edition, halaman keselarasan bersama). Ketentuan dan retensi Resend berlaku.

Metadata Stripe hanya memuat pengenal yang dibuat, status pembayaran dan pemenuhan, serta hash satu arah yang terkait dengan akses browser—bukan jawaban kuesioner, foto, catatan pribadi, atau isi rencana. Cookie HttpOnly dan SameSite per paket dapat bertahan hingga 100 hari, sedangkan catatan pembayaran tertunda dapat tersimpan hingga 30 hari di penyimpanan lokal browser tersebut. Ketentuan dan kebijakan privasi Stripe berlaku.

Di situs produksi, sesi rencana berbayar disimpan pada volume server yang terlindungi dan dipulihkan setelah mulai ulang serta deployment rutin. Sesi Shortlist dan Complete Plan berakhir setelah 30 hari; sesi Couple’s Edition setelah 90 hari. RingMatcher dapat menghapus sesi lebih awal saat menyelesaikan permintaan penghapusan. Detail kandidat dan hasil tinjauan disimpan dalam sesi rencana. Pengeditan mengganti kandidat yang sudah ada tanpa memperpanjang akses. Pembuatan PDF di server memerlukan akses aktif. Jika rencana masih tersimpan di browser ini, salinan HTML lokal dapat diekspor setelah akses berakhir; menghapus data browser dapat menghapusnya. Rencana yang diunduh tidak memulihkan alat berbayar. Untuk Complete Plan dan Couple’s Edition yang dibeli di situs web, RingMatcher mengirim jawaban dan Ringprint rencana (tanpa catatan opsional), permintaan penyesuaian Anda, serta detail kandidat yang Anda masukkan, termasuk catatan penawaran harga, ke OpenRouter dan penyedia model AI yang dipilihnya untuk menulis rencana, dengan pengaturan tanpa retensi dan penolakan pengumpulan yang diminta. Jika layanan itu tidak tersedia, rencana berbasis aturan digunakan sebagai gantinya.

Hal yang tidak dijual RingMatcher

RingMatcher tidak menjual cincin atau data pribadi. Jika akun, pembayaran, analitik, penyimpanan, atau penyedia model berubah, halaman ini harus ditinjau sebelum layanan yang berubah ditawarkan. Pertanyaan privasi dapat dikirim ke contact@ringmatcher.com.