Отправленные вами ответы
Бесплатный процесс обрабатывает выбранные ответы о стиле и покупке, а также необязательную заметку. Они отправляются на сервер RingMatcher только при запросе результата и используются для его создания и проверки.
На сайте и в нативном приложении сервер RingMatcher пересылает эти ответы и необязательную заметку в OpenRouter, который направляет их поставщику ИИ-модели для составления результата. Запрашиваются настройки нулевого хранения и запрета сбора. Затем сервер проверяет, что результат соответствует вашему выбору; если ИИ-сервис недоступен или результат не проходит проверку, вместо него создаётся результат на основе правил.
Необязательные изображения и обработка ИИ
Фотографии необязательны, снимок лица никогда не требуется. До трёх изображений уменьшаются в браузере и могут пройти через сервер RingMatcher к настроенному для запроса поставщику ИИ. RingMatcher намеренно не сохраняет загруженные файлы. Запрашиваются настройки нулевого хранения и запрета сбора, однако инфраструктура, условия и юридические обязанности поставщика продолжают действовать.
Инструкции разрешают только визуальные признаки дизайна и запрещают идентификацию или вывод чувствительных характеристик. Текст и инструкции внутри изображения игнорируются.
Общие ссылки
Ссылка содержит во фрагменте URL видимый результат, выбранный маршрут бриллианта, диапазон бюджета и язык содержимого. Загруженные изображения туда не входят. Любой владелец ссылки может прочитать закодированные сведения, поэтому проверьте их перед отправкой.
Ограниченный фрагмент может перенести видимые поля Ringprint в сервис продавцов. Он не отправляется с HTTP-запросом страницы и удаляется из адресной строки после импорта, но владелец ещё не импортированной ссылки всё равно может его прочитать.
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.
Ограничение запросов, собственные метрики и технические журналы
Сервер может создавать из сетевого адреса временный ключ ограничения запросов, который хранится только в памяти. RingMatcher фиксирует собственные этапы воронки на главной странице, при создании Ringprint, публикации и скачивании, в необязательной оплате и платных пакетах, а также в поиске продавцов. Контракт допускает только название события, разрешённые slug руководств, фиксированные значения источника, канала, пакета, статуса, назначения CTA, расположения CTA или локали, логические значения и ограниченные количества или оценки. Он исключает ответы анкеты, бюджеты, заметки, созданный текст направления, произвольные URL или пути страниц, направления в свободной форме, платёжные идентификаторы, сообщения и стеки ошибок, личные данные и произвольный текст.
События поиска продавцов также могут включать фиксированный тип покупки и идентификатор продавца из проверенного RingMatcher каталога.
После перехода из руководства к тесту хранилище сеанса браузера может сохранять только следующие значения атрибуции: разрешённый slug руководства, локаль и расположение CTA, а также технические метаданные версии и срока действия. Атрибуция принимается не более 30 минут и однократно используется для запроса Ringprint с атрибуцией. Просроченная запись игнорируется и удаляется при следующем обращении; хранилище сеанса также прекращает существовать вместе с вкладкой или сеансом браузера. Данные не содержат ответы анкеты, бюджеты, фотографии, контактные данные или идентификатор аккаунта либо пользователя.
Мы считаем посещения разрешённых публичных страниц, начало и завершение этапов теста и тип результата: персонализированный или резервный. Хранилище сеанса может сохранять фиксированные категории входной страницы, языка, канала, кампании и отметки этапов до 30 минут; просроченное удаляется при следующем обращении. URL перехода классифицируется локально: полные адреса, поисковые запросы и личные идентификаторы не отправляются. Это активность вкладок, а не число уникальных людей. Сайт хранит ответы и бесплатный результат в локальном хранилище этого браузера до 7 дней после использования для продолжения. Файлы фотографий и поле заметок не сохраняются, но результат может отражать сведения из заметки. Начать заново или очистить данные браузера удаляет эту бесплатную сессию. Платные планы хранятся отдельно.
События могут попадать в журналы развёртывания со сроком хранения по настройкам хостинга. Также на сервере хранятся ежедневные итоги по фиксированным категориям за 90 календарных дней UTC; более старые удаляются при следующем событии. Сторонним аналитическим сервисам данные не передаются. Ответов, фото, контактов и идентификаторов аккаунта или пользователя в них нет. Мы также считаем показы предложений, результаты оплаты и полезные действия с планом отдельно для сайта и приложения. Подтверждённые итоги платежей, выдачи планов и возвратов поступают от платёжных провайдеров; тестовые платежи исключены. Случайные идентификаторы событий и хешированные ссылки на платежи предотвращают повторный подсчёт и удаляются после 90 дней хранения аналитики. Это число событий, а не уникальных клиентов и не доказательство роста продаж.
Платные пакеты и Stripe
Для обработки разового платежа за дополнительные платные пакеты используется Stripe. RingMatcher передаёт Stripe адрес для квитанции, выбранный пакет, заданные сервером сумму и валюту, а также созданные идентификаторы запроса и PaymentIntent. Платёжные данные собирает Payment Element Stripe; RingMatcher не получает и не хранит полный номер карты или код безопасности. После подтверждённой покупки RingMatcher отправляет на этот адрес ссылку на ваш план через Resend, нашего поставщика почтовой рассылки; вы также можете отправить ссылку из плана на выбранный вами адрес. Resend получает адрес и ссылку, которая сама содержит план (для Couple’s Edition — общую страницу согласования). Применяются условия и правила хранения Resend.
Метаданные Stripe содержат только созданные идентификаторы, состояние платежа и исполнения и односторонний хеш, связанный с доступом из браузера, но не ответы анкеты, фотографии, личные заметки или содержимое плана. Файлы cookie HttpOnly и SameSite для пакета могут храниться до 100 дней, а запись о незавершённом платеже — до 30 дней в локальном хранилище этого браузера. Применяются условия и политика конфиденциальности Stripe.
На рабочем сайте сеансы платных планов хранятся на защищённом серверном томе и восстанавливаются после обычных перезапусков и развёртываний. Сеансы Shortlist и Complete Plan истекают через 30 дней, Couple’s Edition — через 90 дней. RingMatcher может удалить сеанс раньше после выполнения запроса на удаление. Данные вариантов и результаты проверки хранятся в сеансе плана. Редактирование заменяет существующий вариант и не продлевает доступ. Создание PDF на сервере требует активного доступа. Если план сохранён в этом браузере, после истечения срока можно экспортировать локальную копию HTML; очистка данных браузера может удалить её. Скачанный план не восстанавливает платные инструменты. Для Complete Plan и Couple’s Edition, купленных на сайте, RingMatcher отправляет в OpenRouter и выбранному им поставщику ИИ-модели ответы и Ringprint плана (без необязательной заметки), ваши запросы на доработку и введённые вами данные финалистов, включая заметки к ценовым предложениям, чтобы составить план; запрашиваются настройки нулевого хранения и запрета сбора. Если сервис недоступен, используется план на основе правил.
Что RingMatcher не продаёт
RingMatcher не продаёт кольца или персональные данные. Если изменятся аккаунты, оплата, аналитика, хранение или поставщики моделей, эту страницу необходимо пересмотреть до публичного запуска изменённой услуги. Вопросы о конфиденциальности отправляйте на contact@ringmatcher.com.