Kulora — Privacy Policy

Last updated: 23 October 2026

Your photos and the colours you measure stay on your device, encrypted, and leave it only when you share something yourself. The app's own code makes no network requests, and there is no account and no server of ours. The Android app shows banner ads from the Yandex Advertising Network; the ad software uses the internet and, if you allow it, your device's advertising ID — see Advertising. The web, iPhone, iPad and desktop versions have no ads.

Kulora identifies colours in photos and explains them for choosing colours for a room. This policy explains what the app stores, what it never does, and how to delete everything. It applies to Kulora for Android, iOS, macOS, Windows, Linux and the web version.

What the app stores on your device

All of it stays on the device. None of it is sent anywhere by the app.

WhatWhyHow it is protected
Photos you take or open in the appSo you can come back and measure more colours in themEncrypted (AES-256-GCM)
Colours you measure, with a small preview of the measured area, their labels, and your session titles and notesYour historyEncrypted database (SQLCipher)
Palette files you importTo match your colours against themEncrypted database (SQLCipher)
Settings: language, theme, measuring options, which colour systems to show, and your answer about the advertising ID (Android)To keep the app as you left itThe operating system's app-private storage

The encryption keys are random, generated on the device, and kept in the operating system's secure key store (Android Keystore, Apple Keychain, Windows DPAPI, Linux Secret Service). Photos you take in the app are not saved to your photo gallery.

Backups

Network use

The app's own code makes no network requests. Every colour system and explanation ships inside the app, and colour matching works with no connection. There is no server of ours to send anything to. On Android the app holds the internet permission for the advertising SDK only, which is the one part of the app that talks to the internet (see Advertising). The other versions show no ads, and the macOS app has no network entitlement.

Camera and photos

Photos are used only to measure colours in them, on your device.

What leaves your device, and only when you say so

When you tap Share, the app makes text, a spreadsheet (CSV), a Kulora file (JSON) or an image card with the colours you chose — their values, your labels and session title, and their closest matches — never your photo. It hands that to your system's share sheet, saves it where you choose, or copies it to the clipboard. What happens next is up to you and the app you share with.

Palettes you import can never be exported or shared from the app.

Advertising

The app is free, and on Android advertising is how it is paid for. Banner ads appear in exactly two places — at the bottom of the colour library and at the bottom of the history list — and never over a photo, the colour picker, the camera or a colour's explanation, where they would cover what you are measuring. There are no full-screen ads: the ad software's own ad at launch and its ad on returning to the app are both switched off. The web, iPhone, iPad and desktop versions show no ads.

The ads are served by the Yandex Mobile Ads SDK, which is part of the Android app. To do that it uses your device's advertising ID and information about the device and its network connection, such as your IP address, and it sends those to Yandex's servers. That collection is Yandex's, made under Yandex's privacy policy rather than ours. The SDK brings Yandex's analytics library (AppMetrica) with it as a dependency; its location tracking is switched off, and Kulora itself starts no analytics.

Until 23 October 2026 a second ad network's software was in the app. Start.io served both banners until 15 October, then served nothing and stayed compiled in — its SDK in the app and never started. It is out. It also declared three Android permissions that appeared in the app's entry in the stores, none of which Kulora ever used: advertising topics, the Wi-Fi connection state, and permission to be started when the phone boots. Those are gone with it. If you installed a version from before that date, updating removes them.

Both SDKs are part of every Android build, which is why the app declares the permissions listed below whichever network serves it. Each banner uses only one network, and the Details link on the question below opens the policy of the network serving that banner. You are asked once, and your answer applies to both networks.

The app itself starts no analytics and reports nothing about how you use it.

What is never sent to an ad network, or anywhere else: your photos, the colours you measure, your sessions, labels and notes, and the palettes you import. The app's own code has no way of reaching the network, which is checked automatically every time the app is built.

You are asked first. Before the first ad, the app asks whether your advertising ID may be used to choose ads, and asks for no ad until you answer. If you allow it, ads are personalised with it. If you decline, the app stays free and still shows ads — they are simply chosen without your advertising ID, and the ad network is told so before any ad is requested. You can change the answer at any time in Settings → Advertising → Use my advertising ID, and the change takes effect immediately.

If the app cannot tell the ad network about your refusal — which should not happen, but is not something it will guess about — it shows no ads at all rather than asking anyway. The ad slots stay empty and the app stays free. The question you are asked, and the line under the switch in Settings, say which of the two it will be.

You can also reset or delete your advertising ID at any time in Android's own settings, under Privacy → Ads. Colour matching keeps working with no network and no ads.

Analytics, purchases

There are none of our own. The app runs no analytics or crash reporting of its own and has no purchases.

Permissions on Android, and what each is for

PermissionWhat it is for
Internet and network stateUsed only by the advertising SDK to load ads. The app's own code does not use them.
Advertising ID (AD_ID)Declared by the advertising SDK so ads can be selected and counted. Reset or delete the ID in Android's settings at any time.
Play install referrerDeclared by the advertising SDK and a library it depends on. It reads which campaign an install came from.

The app holds no camera, storage or location permission: photos are taken with the system camera and chosen with the system photo picker.

Web version

A browser has no secure key store, so the web version keeps its history, photos and palettes unencrypted in the website's private storage in your browser (IndexedDB / Origin Private File System). It is still never sent anywhere. The app says so in Settings. Clearing the site's data in your browser deletes it.

Deleting your data

We hold no data about you, so there is nothing for us to delete, export or correct on request — but you are welcome to ask. The advertising ID belongs to Android's settings and is reset or deleted there; data the ad SDK sent to Yandex is covered by Yandex's privacy policy (and, for what reached Start.io while it served, before 15 October 2026, Start.io's privacy policy).

Children

The app is not directed at children. Nothing of the app's own is collected from anyone; the advertising SDK on Android works as described under Advertising.

Changes

If this policy changes, the new version appears on this page with a new date at the top. A change that introduced any further data collection would be announced in the app before it took effect.

Contact

Artsiom Maldavanau — amaldavanau@gmail.com.


Kulora — Политика конфиденциальности

Обновлено: 23 октября 2026 года

Ваши фото и измеренные цвета хранятся на устройстве в зашифрованном виде и покидают его, только если вы сами чем-то поделитесь. Собственный код приложения не выполняет сетевых запросов; нет учётных записей и наших серверов. Приложение для Android показывает рекламные баннеры Рекламной сети Яндекса; рекламный модуль пользуется интернетом и, если вы разрешите, рекламным идентификатором устройства — см. раздел «Реклама». В веб-версии, на iPhone, iPad и компьютере рекламы нет.

Kulora определяет цвета на фотографиях и объясняет их, чтобы помочь выбрать цвета для интерьера. Здесь описано, что приложение хранит, чего оно никогда не делает и как всё удалить. Политика относится к Kulora для Android, iOS, macOS, Windows, Linux и к веб-версии.

Что приложение хранит на устройстве

Всё это остаётся на устройстве. Приложение ничего никуда не отправляет.

ЧтоЗачемКак защищено
Фото, которые вы сняли или открыли в приложенииЧтобы вернуться к ним и измерить другие цветаШифрование (AES-256-GCM)
Измеренные цвета с небольшим фрагментом измеренной области, их метки, названия сеансов и заметкиВаша историяЗашифрованная база данных (SQLCipher)
Импортированные файлы палитрЧтобы сравнивать с ними ваши цветаЗашифрованная база данных (SQLCipher)
Настройки: язык, тема, параметры измерения, какие цветовые системы показывать, ваш ответ про рекламный идентификатор (Android)Чтобы приложение оставалось таким, как вы его настроилиЗакрытое хранилище приложения в системе

Ключи шифрования случайные, создаются на устройстве и хранятся в защищённом хранилище ключей системы (Android Keystore, Apple Keychain, Windows DPAPI, Linux Secret Service). Снимки, сделанные в приложении, не сохраняются в галерею.

Резервные копии

Работа с сетью

Собственный код приложения не выполняет сетевых запросов. Все цветовые системы и пояснения входят в само приложение, и подбор цвета работает без подключения. Наших серверов, куда можно было бы что-то отправить, не существует. На Android у приложения есть разрешение на доступ в интернет только ради рекламного SDK — это единственная часть приложения, которая обращается к интернету (см. «Реклама»). Остальные версии рекламы не показывают, у приложения для macOS нет сетевых прав.

Камера и фотографии

Фотографии используются только для измерения цветов на вашем устройстве.

Что покидает устройство — только по вашему решению

Когда вы нажимаете Поделиться, приложение создаёт текст, таблицу (CSV), файл Kulora (JSON) или карточку-изображение с выбранными цветами — их значениями, вашими метками, названием сеанса и ближайшими совпадениями — но никогда не с вашим фото. Результат передаётся в системное меню «Поделиться», сохраняется туда, куда вы укажете, или копируется в буфер обмена. Что происходит дальше, решаете вы и приложение, с которым вы делитесь.

Импортированными палитрами нельзя поделиться, и их нельзя экспортировать из приложения.

Реклама

Приложение бесплатное, и на Android его оплачивает реклама. Баннеры появляются ровно в двух местах — внизу библиотеки цветов и внизу списка истории — и никогда поверх фото, пипетки, камеры или объяснения цвета, где они закрывали бы то, что вы измеряете. Полноэкранной рекламы нет: собственная реклама рекламного модуля при запуске и при возвращении в приложение выключена. В веб-версии, на iPhone, iPad и компьютере рекламы нет.

Рекламу показывает Yandex Mobile Ads SDK, входящий в приложение для Android. Для этого он использует рекламный идентификатор вашего устройства и сведения об устройстве и сетевом соединении, например IP-адрес, и передаёт их на серверы Яндекса. Этот сбор ведёт Яндекс на своих условиях, изложенных в его политике конфиденциальности, а не мы. Вместе с SDK в приложение попадает библиотека аналитики Яндекса (AppMetrica); отслеживание местоположения в нём выключено, и сама Kulora никакой аналитики не запускает.

До 23 октября 2026 года в приложении был второй рекламный модуль. Start.io показывал оба баннера до 15 октября, затем не показывал ничего и оставался в сборке — его SDK был в приложении и ни разу не запускался. Теперь его нет. Вместе с ним он объявлял три разрешения Android, которые были видны в карточке приложения в магазинах и которыми Kulora никогда не пользовалась: рекламные тематики, состояние подключения Wi-Fi и право запускаться при включении телефона. Они удалены вместе с ним. Если у вас стоит версия до этой даты, обновление их уберёт.

Оба SDK входят в каждую сборку для Android — поэтому приложение объявляет перечисленные ниже разрешения независимо от того, какая сеть показывает рекламу. Каждый баннер использует только одну сеть, и ссылка «Подробнее» в вопросе ниже открывает политику той сети, которая показывает этот баннер. Вопрос задаётся один раз, и ответ действует для обеих сетей.

Само приложение никакую аналитику не запускает и о том, как вы им пользуетесь, ничего не сообщает.

Что не уходит ни в рекламную сеть, ни куда-либо ещё: ваши фото, измеренные цвета, сеансы, метки и заметки, импортированные палитры. Собственный код приложения вообще не имеет доступа к сети, и это проверяется автоматически при каждой сборке.

Сначала спрашиваем. Перед первой рекламой приложение спрашивает, можно ли использовать ваш рекламный идентификатор для её подбора, и до ответа не запрашивает ни одной рекламы. Если разрешить, реклама подбирается персонально. Если отказать, приложение останется бесплатным и реклама никуда не денется — её просто будут подбирать без рекламного идентификатора, и рекламная сеть узнаёт об этом раньше, чем будет запрошена хоть одна реклама. Ответ можно изменить в любой момент: «Настройки» → «Реклама» → «Использовать рекламный идентификатор», изменение действует сразу.

Если приложение не сможет сообщить рекламной сети о вашем отказе — так быть не должно, но угадывать приложение не станет, — оно вообще не будет показывать рекламу, а не запросит её вопреки отказу. Рекламные места останутся пустыми, приложение — бесплатным. В самом вопросе и в строке под переключателем в настройках написано, что именно произойдёт.

Сам рекламный идентификатор можно в любой момент сбросить или удалить в настройках Android: «Конфиденциальность» → «Реклама». Подбор цвета продолжает работать без сети и без рекламы.

Аналитика, покупки

Собственных нет. Приложение не ведёт своей аналитики и отчётов о сбоях, покупок в нём нет.

Разрешения на Android и зачем они

РазрешениеЗачем
Интернет и состояние сетиИспользуются только рекламным SDK для загрузки рекламы. Собственный код приложения ими не пользуется.
Рекламный идентификатор (AD_ID)Объявлен рекламным SDK, чтобы подбирать и учитывать рекламу. Идентификатор можно в любой момент сбросить или удалить в настройках Android.
Источник установки Google PlayОбъявлен рекламным SDK и библиотекой, от которой он зависит. Он сообщает, из какой кампании пришла установка.

Разрешений на камеру, хранилище и местоположение у приложения нет: снимки делает системная камера, изображения выбираются в системном окне выбора фото.

Веб-версия

В браузере нет защищённого хранилища ключей, поэтому веб-версия хранит историю, фото и палитры без шифрования в закрытом хранилище сайта в вашем браузере (IndexedDB / Origin Private File System). Они всё равно никуда не отправляются. Приложение сообщает об этом в настройках. Очистка данных сайта в браузере удаляет их.

Удаление данных

У нас нет никаких данных о вас, поэтому нам нечего удалять, выгружать или исправлять по запросу — но вы всегда можете написать. Рекламный идентификатор живёт в настройках Android и сбрасывается или удаляется там; данные, переданные рекламным SDK в Яндекс, регулируются политикой конфиденциальности Яндекса (а то, что успело уйти в Start.io, пока он показывал рекламу, то есть до 15 октября 2026 года, — политикой конфиденциальности Start.io).

Дети

Приложение не предназначено для детей. Само приложение ни у кого не собирает данных; рекламный SDK на Android работает так, как описано в разделе «Реклама».

Изменения

Если политика изменится, новая версия появится на этой странице с новой датой вверху. Об изменении, которое добавило бы какой-либо другой сбор данных, будет сообщено в приложении заранее.

Контакты

Artsiom Maldavanau — amaldavanau@gmail.com.