Це переклад. Якщо він і англійська версія колись розходяться, чинною є англійська версія.

Конфіденційність

Політика конфіденційності

Востаннє змінено: 19 жовтня 2026 р..

Що зберігається

Конфігурація сервера, яку ви задаєте командами бота: ідентифікатори каналів і ролей, порогові значення, перемикачі та текст, який ви вводите в налаштування — префікс команд, список заборонених слів, текст панелі верифікації, фраза, що запускає заплановане очищення каналу, ідентифікатори користувачів, яких ви виключаєте з-під дії фільтра. Записи модерації: номер випадку, хто діяв, проти кого, причина, яку ви вказали, і коли. Там, де функції це потрібно, — ідентифікатори повідомлень або каналів, які вона створила, щоб потім керувати ними.

Текст конфігурації зберігається так, як ви його написали, і це навмисно: ваші модератори мають мати змогу прочитати, що саме налаштовано на сервері. Це не чиїсь особисті слова про себе — це правила вашого сервера, написані тим, хто ним керує.

Лічильники активності — від моменту додавання бота. Скільки повідомлень надіслав кожен учасник, скільки хвилин провів у голосових каналах, наскільки жвавий кожен канал, погодинна сума по серверу, а також запис про те, хто приєднався чи вийшов і яке запрошення його привело. Якщо ввімкнено ретранслятор вебхуків — скільки разів він повернув заблоковані повідомлення учасника і коли востаннє. Це лічильники й позначки часу, і більше нічого: ніде немає рядка, який казав би, що хтось сказав, або в якому каналі, або в який момент. Подобовий розклад, з якого складаються таблиці лідерів, видаляється через 120 днів, а історія приєднань і виходів — через 400 днів.

Підрахунок увімкнений від моменту, коли бот зʼявляється на сервері, на відміну від більшості того, що він уміє, бо історія, яка починається, коли хтось згадає знайти налаштування, — це історія, якій ніхто не може довіряти, а непорахований місяць не відновити. Вимкнути його можна одним рядком — /logs activity з off — підрахунок зупиняється негайно, а /stats і далі показує те, що було записано до цього.

Це не єдине, що ввімкнене, коли бот приєднується, хоча ця сторінка раніше стверджувала інакше. Текстові команди, журнал модерації, драбина покарань, розіграші, snipe, AFK і мовне налаштування бота теж починають працювати одразу; сторінка документації наводить їх поряд з усіма іншими модулями й позначає, що є чим. З них дещо про учасника зберігають snipe та AFK: snipe — у памʼяті, а не в базі даних, а AFK — лише коли учасник сам його встановить; абзац нижче точно каже, що саме і як довго.

AFK — лише якщо учасник його встановить. Те, що він відсутній, причина, яку він вказав, коли він пішов, нікнейм, який бот замінив, щоб повернути його назад, і посилання на до десяти повідомлень, що згадували його, поки він був відсутній, — яке повідомлення, в якому каналі, від кого і коли, але ніколи не текст повідомлення. Усе це видаляється, коли він наступного разу щось напише там, де це враховується (сервер може вказати канали, де ні), коли він залишає сервер або командою /afk remove — а також через тридцять днів за будь-яких обставин. Сервер може вимкнути збереження згадок.

Що бот вирішив про акаунт, коли той зайшов. Якщо ввімкнено скринінг учасників — оцінка, яку він поставив, категорія, сигнали, що спрацювали, усе, що бот зробив сам, і що модератор вирішив потім. Це зберігається, щоб на запитання «чому мене вигнали» була відповідь, а не реконструкція, і тому, що сигнал «цей акаунт уже приєднувався сюди й виходив» потребує наявної історії. Видаляється через 90 днів — судження про когось не те саме, що модераційна дія, до якої воно привело, і записом є лише друге.

Що люди подають до функції і що функція з цього зробила. Апеляції на бан і голосування персоналу щодо них; заявки до команди, їхні відповіді та голосування; звернення, відповіді на них і оцінка, залишена при закритті; участь у розіграшах; записи на події та відвідуваність; ранги гільдії, склади, нотатки персоналу й причини внесків; відгуки, які хтось написав про ваш сервер; заявки партнерів і їхня пропозиція. Чотири поля з цього списку, що є словами, написаними конфіденційно, зашифровані — розділ нижче називає їх точно.

Резервні копії сервера, якщо хтось їх робить. /backup save зберігає структурний знімок сервера, щоб його можна було відбудувати: назви й дозволи ролей, назви каналів, теми та перевизначення прав, категорії, метадані емодзі та стікерів і список банів із записаними на ньому причинами. Повідомлень там немає. Це власна структура вашого сервера, збережена там, де ви наказали боту її зберігати, а /backup delete повністю видаляє слот.

Повідомлення, які ваш персонал збирає через /message. Недороблена чернетка (відкидається через тиждень без змін), збережені шаблони, дописи, заплановані на потім, і запис кожного допису, щоб його можна було редагувати, — забувається через 90 днів без редагування. Це текст, який ваш персонал написав для надсилання ботом, із зазначенням автора; нічого, що сказав учасник.

Привітання вашого сервера. Вітальне повідомлення, прощальне повідомлення та вітальне особисте повідомлення, які ваш персонал створив, текст на вітальних і прощальних картках і фонове зображення, якщо його завантажили для картки, — воно зберігається як зображення, перемальоване ботом із завантаженого, тож від початкового файлу не лишається нічого, окрім його пікселів. Щоб намалювати картку, бот у той момент бере з Discord зображення профілю учасника, що приєднується чи йде, і нічого з нього не зберігає.

Рівні, якщо сервер їх увімкне. З увімкненим модулем «Рівні» бот зберігає одне число на учасника — XP, зароблений із повідомлень і часу в голосових каналах, — і час його останньої зміни, і нічого більше: жодного запису про те, що було сказано чи де. З цього числа обчислюються рівень і місце. Воно зберігається, поки бот на сервері, навіть після виходу учасника, щоб його нагородні ролі могли повернутися, якщо він повернеться; воно видаляється разом з рештою даних сервера через тридцять днів після вилучення бота. Якщо сервер лишає свою публічну таблицю лідерів увімкненою — вона увімкнена за замовчуванням, і один перемикач її вимикає, — імʼя учасника на сервері, аватар, рівень і XP показуються на публічній сторінці цього сайту будь-кому з посиланням. Імʼя та аватар беруться з Discord у момент відмальовування сторінки й ніколи не записуються до бази даних; відмальована сторінка зберігається менше хвилини, щоб відвідувана таблиця не зверталася до бота під час кожного перегляду.

Записи рейдів, лише коли антирейд виявляє рейд або персонал позначає період. Які акаунти приєдналися за цей час і коли, скільки років було кожному акаунту, чи мав він аватар, ключ лише з літер, складений з імені користувача, щоб помітити групу схожих імен (саме імʼя користувача — ніколи), що бот або модератор зробив із кожним (кік, бан, тайм-аут), чи був сервер заблокований і скільки повідомлень видалено. Ніколи текст повідомлення. Зберігається 30 дн., не більше 25 рейдів на сервер, і видаляється разом з усім іншим, коли бот залишає сервер.

Пропозиції, якщо сервер їх увімкне. Пропозиція зберігає написаний текст, автора, місце публікації картки та — після відповіді модерації — саму відповідь, хто її дав і чому. Кожен голос — один рядок: яка пропозиція, який учасник, у який бік. Анонімна пропозиція все одно записує автора, бо ліміт на людину та пауза рахуються від нього; ніде він не показується. Усе це видаляється разом з рештою даних сервера через тридцять днів після вилучення бота. Пропозиція, надіслана через /suggest bot, стосується самого бота, а не сервера: вона передається в канал сервера підтримки разом з вашим імʼям, вашим ID і сервером-джерелом і не зберігається взагалі.

Дні народження, якщо учасник їх указав. /birthday нічого не зберігає про людину, доки вона не назве дату. Тоді бот зберігає вказані день і місяць; рік — лише якщо його назвали, у зашифрованому вигляді, тим самим ключем, що й конфіденційний текст нижче, і читає його лише щоб назвати вік та лише на сервері, який показує вік; часовий пояс зі сталого списку; момент, коли почнеться наступний день народження; і з якими серверами людина вирішила ним поділитися — по одному запису на сервер, який створює сама людина й ніхто інший. Модератор може прибрати запис сервера, але ніколи не може задати чи прочитати дату, якою не поділилися на його сервері. Нікого молодшого за 13 років не зберігають: рік, через який людина виявляється молодшою, відхиляється, і нічого не зберігається. Бот ніколи сам не пише людині. /birthday remove стирає дату й записи всіх серверів одразу; запис сервера також видаляється, коли учасник залишає цей сервер або коли дані сервера видаляються; а короткий запис про те, які вітання вже оголошено, видаляється через 400 днів.

Видалення дня народження командою /birthday remove також одразу видаляє запис про оголошені привітання цієї особи, не чекаючи завершення 400 днів.

Тимчасові ролі. Коли модератор видає комусь роль на час, бот зберігає, у кого вона, яка це роль, коли закінчується, хто її видав і вказану ним причину (щонайбільше 400 символів), доки роль не заберуть. Роль, видана на день народження чи за збиту лічбу, зберігається так само, а видавцем указано бота. Запис видаляється, коли роль забирають, коли учасника банять і — якщо сервер не вирішив зберегти час до його повернення — коли він іде.

Лічба, якщо сервер налаштував канал. Для кожного каналу лічби бот зберігає число, на якому зупинилися, хто лічив останнім, правила каналу і для кожного учасника, який там лічив, скільки правильних чисел він назвав і скільки разів збив лічбу — ідентифікатори та числа, але ніколи не те, що хтось написав. Повідомлення в каналі лічби читаються в міру надходження, щоб їх оцінити, і не зберігаються. Усе це видаляється разом із каналом, після припинення лічби в ньому або разом з рештою даних сервера через тридцять днів після видалення бота.

Modmail, лише якщо сервер його вмикає. Коли учасник надсилає боту особисте повідомлення, бот читає його й передає команді обраного сервера до приватного каналу, який вибрав цей сервер — кожен, хто бачить цей канал, може його прочитати, як і той, хто бачить канал журналу сервера, якщо туди публікуються розшифровки. Відповіді команди надходять в особисті повідомлення учасника; анонімна відповідь приховує відправника від учасника, але не від решти команди. Бот не зберігає жодного тексту повідомлень: він зберігає ідентифікатори, лічильники та час, яке особисте повідомлення відповідає якому повідомленню в каналі (видаляється через тридцять днів після закриття гілки), причини, які команда написала під час закриття чи блокування, та збережені відповіді. Запис закритої гілки видаляється через кількість днів, задану сервером, за замовчуванням девʼяносто. Сама розмова та будь-які файли розшифровок лишаються в Discord цього сервера за його власними правилами. Учасник завершує розмову кнопкою Close this conversation під першою відповіддю бота, не дає серверу почати її кнопкою Stop messages from this server або просто не пише боту. Жодна третя сторона нічого з цього не отримує.

Магазин шаблонів. Якщо ви оцінюєте шаблон, бот зберігає ідентифікатор вашого облікового запису, зірки та час. Якщо ви коментуєте, він зберігає ідентифікатор вашого облікового запису, відображуване імʼя, яке ви мали тоді, текст і час; свій коментар ви можете видалити самі, а власник може його прибрати. Скарга зберігає ідентифікатор вашого облікового запису та введену вами причину. Щоб оцінити шаблон могли лише ті, хто ним користувався, бот зберігає, який шаблон ви застосували, на якому ідентифікаторі сервера і коли, поки шаблон існує. Власник читає кожен надісланий шаблон, перш ніж він потрапить до списку, і кожен коментар, що чекає перевірки, перш ніж він зʼявиться; коментар, щодо якого ніхто не ухвалив рішення, видаляється через 30 дн. Щоб обмежити, як часто один обліковий запис або одна адреса може коментувати, скаржитися чи оцінювати, бот зберігає хеш адреси з ключем — ніколи не саму адресу — разом з ідентифікатором облікового запису та часом; він видаляється через 30 дн. Шаблон, який ви ще пишете, зберігається запечатаним (зашифрованим) 7 дн. Щоб видалити все, що магазин зберігає про ваш обліковий запис, попросіть про це на сервері підтримки, і власник виконає видалення. Текст коментаря — і лише текст, без облікового запису, імені та шаблону — надсилається до кінцевої точки модерації OpenAI до публікації коментаря, на умовах, описаних вище в розділі про OpenAI; коментар, який вона позначить або на який не відповість вчасно, утримується для власника замість публікації. Якщо в бота немає ключа OpenAI, цей крок пропускається, і решта перевірок діє самостійно.

Що не зберігається ніколи

Вміст повідомлень. Ніщо в базі даних не зберігає того, що люди говорять у ваших каналах, і винятків із цього немає — жодна колонка в базі даних не містить повідомлення, яке хтось опублікував. Ця сторінка раніше називала стенограми звернень винятком, але це не так: стенограма збирається з історії, яку тримає сам Discord, у момент, коли модератор її просить, і надсилається назад на ваш сервер файлом. Нічого з неї тут не зберігається. Текст, який хтось свідомо подає до бота — апеляція на бан, заявка, форма під час відкриття звернення, коментар до оцінки, — зберігається, бо відгук, який неможливо прочитати, не є відгуком; він зашифрований, а розділ нижче каже, які саме поля. Так само зберігається причина, яку учасник вказує командою /afk, доки він не повернеться, — не зашифрована, бо вона написана не конфіденційно: її показують усім, хто його згадує.

Дві речі тримаються поза базою даних, і про обидві варто сказати точно. Перша — snipe: /snipe показує останнє видалене або змінене повідомлення в каналі, тож мусить його тримати: пʼять на канал, щонайбільше дві години, у памʼяті. Нічого не записується, перезапуск забуває все, і воно ніколи не залишає процес. Запитати його може будь-хто, хто може читати канал, — для цього команда й існує, — і бот перевіряє цей доступ у момент відповіді, а не коли повідомлення було видалене. Він не покаже повідомлення, яке видалив сам бот, або будь-що, очищене масово, бо snipe не повинен стати способом прочитати модерацію. Сервер, якому потрібно вужче, обмежує його модераторами або повністю виключає канали командою /logs snipe; модератор, який щойно щось видалив, негайно очищає його командою /snipe clear.

Друга — лічильники захистів. Анти-нюк, анти-рейд, анти-спам та інші ухвалюють рішення підрахунком — скільки каналів один модератор видалив за останню хвилину, скільки акаунтів приєдналося за останні тридцять секунд, — і ці підрахунки кожні кілька секунд копіюються до кешу Redis на тій самій машині, щоб перезапуск бота не дарував комусь, хто в розпалі атаки, свіжий ліміт. Копіюються ідентифікатори — сервера та учасника чи каналу, про які йдеться, — і час, коли щось сталося, але ніколи те, що хтось сказав: памʼять анти-спаму про недавні повідомлення лишається в процесі, і перезапуск її забуває. Кожна копія спливає сама — протягом години, більшість за хвилини, — кеш ніколи не пише на диск, і дістатися до нього може лише сам бот — ні сайт, ні інтернет. Під час оновлення, коли нова копія бота перебирає роботу від старої, ідентифікатори повідомлень і взаємодій, на які стара копія відповіла в останні секунди, проходять через той самий кеш щонайбільше тридцять секунд, щоб нічого не було відповіджено двічі. Одне в цьому кеші зберігається довше за годину: які нові учасники ще чекають біля якогось барʼєра — екрана правил Discord, перевірки, карантину — на ролі, які сервер видає під час входу, у вигляді ідентифікатора сервера, ідентифікатора учасника й моменту, коли очікування спливає, не довше доби, щоб оновлення не забуло їх видати.

IP-адреси. Бот їх ніколи не бачить — Discord не розкриває боту адресу учасника, і тут нічого не обходить це обмеження. Єдине місце, де адресу взагалі читають, — перевірка підключення на сайті, описана далі, і її читають один раз і не зберігають: ні в базі, ні в журналах, ні хешем. Украдена база даних не містить жодної адреси й нічого, виведеного з адреси.

Голосові повідомлення, якщо хтось просить записати їх текстом. /transcribe завантажує це голосове повідомлення й перетворює його на текст на власному сервері бота за допомогою моделі мовлення, яка працює там само. Звук не потрапляє до жодної іншої компанії чи сервісу; він зберігається лише поки його слухають і видаляється одразу після завершення. Текст публікується в каналі, де використали команду, і ніде більше не зберігається — запису того, що було сказано, не ведеться. Щоб одна людина не зайняла машину надовго, бот рахує в памʼяті, скільки запитів за останні десять хвилин зробили кожна людина й кожен сервер; ці лічильники потім забуваються, а перезапуск забуває їх одразу.

Пʼять третіх сторін і що кожній передається

Більшу частину свого життя цей сайт міг казати, що жодна третя сторона ніколи не бачила ваших учасників. Це перестало бути правдою, коли модуль верифікації отримав Відхиляти VPN і проксі, бо чи належить адреса VPN — це факт, який знає лише сервіс репутації. Кожна з пʼяти нижче вимкнена, доки сервер її не ввімкне, а коли вона ввімкнена, далі описано все, що відбувається.

proxycheck.io. Учасник, до якого застосовується налаштування, отримує одноразове посилання на сторінку цього сайту. Коли він натискає на ній кнопку, адреса підключення один раз надсилається до proxycheck.io із запитанням «чи це VPN, проксі чи діапазон хостингу» і нічим іншим — ні імені користувача, ні сервера, ні ідентифікатора акаунта. Відповідь зчитується заради цього одного біта й відкидається. Бот, який знає, хто цей учасник, ніколи не отримує адресу; сайт, який адресу бачив, ніколи не дізнається, хто цей учасник. Після цього лишається позначка часу в записі верифікації учасника про те, що підключення було чистим, а відмова не залишає нічого.

Cloudflare Turnstile. За бажанням та сама сторінка містить віджет Turnstile від Cloudflare, щоб скрипт не міг натиснути кнопку. Скрипт віджета — єдине, що цей сайт будь-коли завантажує з іншого джерела, і лише на цій сторінці, а Content-Security-Policy цього сайту й далі забороняє його всюди більше. Його відповідь перевіряється в Cloudflare без адреси. Turnstile не замінює CAPTCHA всередині Discord, яка й далі малюється в процесі.

OpenAI. Це найбільша з трьох і та, якій передається те, що публікують люди, тож варто сказати точно. Сервер може ввімкнути ШІ-сканування зображень, у якому модель вирішує, чи є зображення сексуальним, жорстоким, насильницьким або показує самоушкодження. Жоден список ключових слів не може прочитати зображення, і немає версії цього, що працювала б на наших власних машинах, — єдина причина, чому воно тут узагалі є.

Коли сервер його ввімкнув, кожне зображення, опубліковане в каналі зі скануванням, надсилається до кінцевої точки модерації OpenAI як посилання на це зображення на власних серверах Discord, і більше нічого — ні тексту, який хтось набрав, ні імені користувача, ні ідентифікатора акаунта, ні назви сервера, ні назви каналу. Це охоплює завантаження і, якщо сервер це залишає, зображення, яке Discord показує під посиланням. Відповідь повертається як оцінка за категорією, зчитується, щоб вирішити, чи порушує зображення правила цього сервера, і відкидається. Нічого з неї тут не записується, а саме зображення ніколи не зберігається в нашій базі даних.

Що OpenAI робить із цим — їхніми словами, а не нашими. Їхня документація стверджує, що дані, надіслані до API, «не використовуються для навчання чи покращення моделей OpenAI», якщо ви явно не погодилися, а ми не погоджувалися. Вона також стверджує, що журнали моніторингу зловживань «можуть містити певний вміст клієнтів, наприклад запити й відповіді» і за замовчуванням «зберігаються до 30 днів». Тож чесна версія не в тому, що зображення зникає в момент сканування: ми не зберігаємо нічого, а OpenAI може тримати його до тридцяти днів, щоб стежити за власним сервісом. Сервер, який не згоден на це, має залишити цей модуль вимкненим, — саме так він і постачається.

Він вимкнений, доки адміністратор не ввімкне модуль. Сервер може виключити ролі, пропустити цілі канали або сканувати лише деякі, сканувати лише новіших учасників і пропускати власних модераторів, а опис модуля прямо каже, що його ввімкнення — це те, що надсилає зображення з сервера. Вимкніть модуль — і нічого більше не надсилається.

Два чесних обмеження. Він добре розпізнає загальну шкоду і не знає, як виглядає загроза для вашого сервера — організований рейд, шахрайство, реклама, — бо таких категорій у моделі немає, а текст вона не читає взагалі. І власна документація OpenAI каже, що ця кінцева точка не призначена для виявлення матеріалів сексуального насильства над дітьми і не замінює спеціалізованих заходів захисту дітей; тут ніщо не стверджує іншого, і цей шлях повідомлення лишається за Discord.

Нічого іншого не завантажується. Жодної аналітики, жодного сервісу шрифтів, жодного скрипта чи таблиці стилів із чийогось CDN: кожна сторінка, окрім перевірки підключення, не бере нічого з іншого джерела, і це забезпечується політикою Content-Security-Policy, а не обіцяється. Cloudflare стоїть перед сайтом як його мережа — бачить запити, які бачить будь-яка мережа перед сайтом, і саме завдяки їй сайт працює під потоком запитів, — але нічого про ваших учасників йому не передається, бо сторінки нічого про ваших учасників не містять.

YouTube і Twitch. Сервер може стежити за каналом YouTube або стримером Twitch за допомогою /alerts, і тоді бот кілька хвилин поспіль питає службу, чи є щось нове. До YouTube він надсилає один запит на публічну RSS-стрічку каналу, у якому названо лише публічний id цього каналу. До Twitch він надсилає публічний логін стримера — разом з іншими, до ста в одному запиті — підписаний власним застосунком Twitch цього бота, але ніколи не акаунтом учасника. Жоден учасник, назва сервера чи каналу не передається жодній із них, і жодна не дізнається, який сервер за ким стежить. Відповідь читається заради найновішого відео або id, назви й гри прямого ефіру і відкидається. Зберігається канал або логін, за яким сервер вирішив стежити, місце публікації та id останнього оголошеного, щоб нічого не оголошувалося двічі. Обидві служби вимкнені, доки сервер не додасть стеження, а видалення стеження припиняє запити.

Спонсорський рядок

Ті, хто підтримує цього бота, можуть задати одне спонсорське посилання: короткий рядок із позначкою За підтримки, текст і адресу якого обирають вони, а оплачує той, на кого воно веде. Він зʼявляється в підвалі цього сайту та час від часу під однією з відповідей бота на сервері без преміуму: не частіше ніж раз на 45 хвилин на одному сервері, лише після щонайменше 6 інших відповідей там і ніколи під дією модерації, попередженням, приватною відповіддю чи повідомленням із кнопками. Преміум-сервери ніколи не бачать його в Discord. Сайт не знає, хто його читає, тому підвал показує його кожному відвідувачу.

Це посилання і нічого більше. Нічого не завантажується від спонсора і нічого йому не надсилається. Щоб дотримуватися правила вище, бот зберігає в памʼяті — ніколи в базі даних — коли кожен сервер останній раз бачив рядок і скільки відповідей там вийшло з того часу, а також загальний лічильник показів; жодна особа не записується, і спонсор нічого з цього не бачить. Бот не записує кліків і не робить переадресацій, а посилання не передає реферер із цього сайту. Натиснувши на нього, ви переходите на їхній сайт, де діють їхні власні правила. Текст спонсора показується так, як його написали, і не перекладається. Якщо спонсор не заданий, рядка немає ніде.

Ніщо з цього не зберігається довго. Запис про сервер забувається через 24 години після його останньої відповіді. Одночасно зберігається щонайбільше 20 000 серверів; коли місце закінчується, випадає той, від якого найдовше нічого не було. Усе це, разом із загальним лічильником, зникає під час кожного перезапуску бота.

Преміум-токени та ваш акаунт

Преміум за акаунтом — один рядок: ваш id у Discord, місячний він чи довічний, коли закінчується, звідки взявся і скільки додаткових переносів сервера ви придбали. Токен зберігається лише як хеш із ключем від самого себе, тож у базі немає нічого, що можна перетворити назад на токен; токен існує у відповіді власникові під час випуску й більше ніде.

Кожна спроба активувати токен записується — ваш id, чи надійшла вона з цього сайту чи з Discord, чим закінчилася, і хеш із ключем від адреси, яку цей сайт підтвердив для запиту, але ніколи сама адреса. Цей запис блокує акаунт і адресу після кількох неправильних токенів і дає змогу тим, хто керує ботом, побачити одну адресу за багатьма акаунтами. Його видаляють через 90 днів.

Кожен сервер зберігає запис про те, який обліковий запис додав sick; саме це робить сервер преміальним, коли преміум має цей обліковий запис. Сервери, на які ви додаєте sick, також записуються за вашим обліковим записом — id сервера і час — щоб можна було рахувати ваші перенесення. Цей список зберігається, і сервер залишається в ньому після виходу sick, бо витрачене перенесення витрачене.

Пошта на цьому домені

На сайті є також невелика поштова служба для тих, хто його веде: власна адреса власника та адреси облікових записів, яким власник дозволив нею користуватися; кожна відкривається з поштового сайту після входу тут. Пошта на одну з цих адрес надходить через Cloudflare Email Routing і Cloudflare Email Worker, який передає її цьому сайту; коли сайт недоступний, Worker зберігає повідомлення в Cloudflare Workers KV до семи днів і пробує знову. Пошта, надіслана з однієї з цих адрес, виходить через Cloudflare Email Sending. Це чотири задіяні служби Cloudflare, і більше ніхто пошти не бачить.

Пошта запечатана у стані спокою. Коли надходить повідомлення, цей сайт розбирає його й запечатує відкритим ключем, що належить поштовій скриньці, — AES-256-GCM під одноразовим ключем для цього повідомлення, який своєю чергою запечатано відкритим ключем X25519 скриньки, — і лише потім передає його боту, база даних якого зберігає запечатане повідомлення: тему, відправника, одержувачів, текст, HTML, вкладення та їхні назви, а також початкові байти, які зберігаються сім днів, щоб повідомлення, яке розбірник прочитав неправильно, можна було завантажити цілим. Закритий ключ, що його відкриває, загорнуто під ключем, зробленим із вашого пароля пошти (scrypt), а якщо ви створите, то й під одноразовим ключем відновлення; бот ніколи не має закритого ключа й зберігає лише односторонній хеш вашого пароля. Це нульовий доступ у стані спокою, а не нульове знання: цей сайт читає вашу пошту в памʼяті, поки розбирає повідомлення, що надходить, і поки ваша скринька розблокована, тож хто може змінити код, який виконує цей сайт, міг би її прочитати, але власник не може прочитати її з бази даних. Ваш розблокований ключ живе лише в памʼяті цього сайту, щонайбільше добу, а перезапуск блокує кожну скриньку, доки ви знову не введете пароль. Віддалені зображення в повідомленні сайт ніколи не завантажує: вони завантажуються у вашому браузері лише тоді, коли ви про це просите, а завантаження зображення повідомляє відправнику, коли ви відкрили повідомлення й звідки.

Коли ви входите на цей сайт через Discord, записуються ваш ідентифікатор Discord, імʼя користувача та хеш аватара разом із часом, щоб власник бачив, хто входив, перш ніж видати адресу. Кошик і Спам видаляють свій вміст через тридцять днів після потрапляння повідомлення туди; відкликана поштова скринька видаляється через чотирнадцять днів після відкликання. Якщо ви просите у власника доступ, запит — той самий id, імʼя та хеш аватара, а також час — зберігається, доки власник не відповість на нього або не мине тридцять днів, а власника сповіщає особисте повідомлення від бота в Discord. Більше нічого про пошту не передається Discord.

Надсилання рахується за одержувачами — за рядками вихідних, які й так зберігаються для надсилання листа, тож для цього нічого нового не збирається. Якщо пошта скриньки постійно повертається, її надсилання призупиняється, доки власник не розбереться. Листи на postmaster@ та abuse@ на цих доменах доходять до власника.

Дещо залишається у відкритому вигляді, бо служба має читати це без вашого ключа: у якій теці й вкладці лежить повідомлення, його позначки (прочитане, із зірочкою, важливе, відкладене), коли воно надійшло, його розмір, до якої розмови належить, скільки в ньому вкладень, їхні типи файлів та ідентифікатори вбудованих зображень, на яку з ваших адрес воно надійшло, плюс-тег, який ви використали, результати перевірок відправника та ключові дайджести його ідентифікаторів (Message-ID, References) і відправника. Правила, які ви задали для відправників, — адреса чи домен, які ви розклали, заблокували або дозволили для них зображення, — теж відкриті. Поки повідомлення надходить, бот читає в памʼяті його відправника, одержувачів, тему, заголовки й назви вкладень, щоб розкласти його по вкладках і застосувати правила щодо зловживань, і не записує жодного з них у відкритому вигляді. Скриньки, власник яких ще не входив із паролем відтоді, як почалося запечатування, зберігають свою старішу пошту як була, читабельною для служби; власнику показано, які саме, і кожну буде запечатано, щойно її власник увійде.

Пошук працює на ключових дайджестах, а не на ваших словах. Коли вашу скриньку розблоковано, кожне запечатане повідомлення отримує до 512 дайджестів (HMAC-SHA256) цілих слів у ньому та його відправника й одержувачів, зроблених під випадковим ключем пошуку, який існує лише обгорнутим під вашим паролем і вашим ключем відновлення. Тож пошук може знайти цілі слова й точні адреси — а не префікси, форми слів чи фрази — а той, хто має копію бази даних, не може перевіряти за ними вгадане слово. Дві ціни: пошту, що надійшла, поки вашу скриньку заблоковано, не можна шукати, доки ви наступного разу її не розблокуєте; а ключові дайджести ідентифікаторів і відправників, залишених у відкритому вигляді (вище), роблять під секретом, який є в сайту й якого немає в бази даних, тож той, хто має і те, і те, міг би перевірити, чи трапляється вгадана адреса або Message-ID.

Повідомлення, яке ви надсилаєте зі скасуванням або на пізніший час, чекає у вихідних у тій формі, якої потребує відправник: оскільки воно має бути читабельним, коли піде, його зберігають під власним серверним ключем бота, доки його не надіслано, не скасовано або остаточно не відхилено, а тоді видаляють. Копія у вашій теці «Надіслані» залишається запечатаною для вас. Пошта, яку ви надсилаєте, іде через TLS, як і будь-яка інша, через Cloudflare Email Sending, а пошта до вас надходить через Cloudflare Email Routing: Cloudflare бачить повідомлення в дорозі, до того як цей сайт його запечатає, і коли воно виходить.

Повідомлення, які ви надсилаєте, не містять ідентифікатора Discord, ідентифікатора облікового запису чи адреси вашого браузера: випадковий Message-ID у домені відправлення, жодного заголовка X-Mailer, User-Agent чи X-Originating-IP і рядок From, що показує лише обрану вами адресу, з відображуваним імʼям, лише якщо ви його задали. Псевдонім — це додаткова адреса, що доставляє у вашу скриньку й яку можна вимкнути, зробити тимчасовою або дозволити їй відповісти один раз. Це не анонімність щодо тих, хто веде службу, щодо Cloudflare чи щодо того, кому ви пишете: вони бачать адресу, з якої ви писали, час і що сказано в повідомленні.

Якщо ви втратите і пароль, і ключ відновлення, вашу пошту не можна буде відкрити, і ніхто не зможе відновити її для вас, власник теж. Коли власник скидає пароль пошти користувача, ключ, який він відкривав, також видаляється: пошту, запечатану під ним, більше ніколи не можна буде прочитати, і її буде видалено через тридцять днів.

Музика й тексти пісень

Коли сервер вмикає музичний плеєр, бот відтворює звук у голосовому каналі через вузол Lavalink, який працює поруч із ним на тому самому компʼютері. Вузол бере звук лише з сайту, який запросив учасник, і більше ні звідки: SoundCloud (soundcloud.com, on.soundcloud.com, api.soundcloud.com, sndcdn.com), Bandcamp (bandcamp.com), Twitch (twitch.tv), Vimeo (vimeo.com), пряме посилання https, яке вставив учасник, і — лише якщо власник це ввімкнув — YouTube (youtube.com, youtu.be, music.youtube.com). Посилання на Spotify (open.spotify.com, spotify.link) або Apple Music (music.apple.com) шукається на цьому сайті заради назви треку, а знайдений збіг відтворюється із SoundCloud; з жодного з них звук не надходить. Кожен із цих сайтів бачить запит, який вузол робить за треком, так, як його бачив би будь-який браузер, що відкриває сторінку, і нічого про сервер чи учасника, який його запросив.

Що бот зберігає для плеєра: голосовий і текстовий канали, у яких він перебуває, чергу — назву, виконавця, тривалість і джерело кожного треку, власний ідентифікатор вузла для нього та id учасника, який поставив його в чергу, — а також останні двадцять відтворених треків, які видаляються, коли плеєр зупиняється або бот залишає сервер. Плейлист, який зберігає учасник, належить йому й зберігається під його id, доки він його не видалить. Тексти пісень надходять із LRCLIB (lrclib.net), відкритої бази даних без облікового запису: їй надсилаються виконавець, назва й тривалість треку, що грає, і нічого більше, а відповідь показується й не зберігається.

Безпека вашого облікового запису

Ваша поштова скринька відкривається вашим власним паролем, заданим у самому поштовому клієнті й збереженим окремо від Discord. Цей сайт бачить його лише поки ви його вводите, щоб розгорнути ключ вашої скриньки, і не зберігає його; бот, який отримує його для перевірки, зберігає лише односторонній scrypt-хеш від нього — значення, яке ніщо не може перетворити назад на пароль, навіть ми — і звіряє введене з ним. Самого пароля немає в жодному журналі, жодному стовпці бази даних і жодному cookie.

Другий крок необовʼязковий і залежить від вас. Секрет застосунку-автентифікатора і адреса, на яку надсилається код, зберігаються зашифрованими за допомогою AES-256-GCM, тим самим доступним лише боту ключем, що й конфіденційний текст вище; ключ доступу зберігається лише як його відкритий ключ, яким можна перевірити вхід, але ніколи його створити; коди відновлення зберігаються тільки як ключові хеші, як преміум-токени. Надісланий код виходить через Cloudflare Email Sending з адреси на нашому домені. Жоден метод другого чинника ні з ким не передається.

Довіра браузеру на тридцять днів зберігає випадковий токен у cookie, а на боці бота — лише ключовий хеш цього токена, ніколи сам токен, тож у списку ваших довірених браузерів немає нічого, що розпізнавало б браузер перед кимось іншим. Окрім трьох cookie входу панелі, поштова скринька, поки вона відкрита, встановлює кілька власних: той, що тримає її розблокованою добу, той, що тримає вхід або пароль, поки відповідають на її другий крок, той, що живе десять хвилин і позначає браузер, який почав вхід до пошти, щоб його не можна було завершити з іншого, і токен довіреного браузера. Поштовий сеанс закінчується через шість годин після відкриття або раніше, якщо ви виходите з сайту на спільному хості. Кожен неправильний пароль чи код зараховується проти вашого облікового запису і проти адреси, яку довів цей сайт, — ваш id і ключовий хеш цієї адреси, ніколи сама адреса, — що блокує обліковий запис після кількох спроб за чверть години; ці записи видаляються протягом доби.

Прослуховування — лише якщо ви щось підключите

Що зберігається. /fm нічого не зберігає про людину, доки вона не підключить джерело. Якщо ви підключите Last.fm або ListenBrainz, ми збережемо ваше імʼя користувача там. Якщо ви також увімкнете скроблінг назовні, ми збережемо ключ, який дозволяє боту надсилати прослуховування за вас, у зашифрованому вигляді й лише доки це ввімкнено — вимкнення або відвʼязування видаляє його. Якщо ви використовуєте статус Spotify у Discord, бот читає пісню Spotify зі вашого статусу на спільних із вами серверах, лише після вашої згоди, і записує прослуховування, коли ви прослухали приблизно половину. Нічого іншого у вашій присутності не читається.

Що зберігається далі і хто це бачить. Прослуховування, які бот почув сам, — зі вашого статусу Spotify або його власного музичного плеєра, — зберігаються рік. Ваші топ-виконавці, альбоми, треки та жанри, до тисячі кожного, копіюються з вашого сервісу раз на кілька годин, щоб сервер міг показувати, хто що слухає. Друзі, кілька налаштувань відображення та сервери, де ви вирішили сховатися, також зберігаються. Прослуховування й списки показуються лише людям на серверах, де ви перебуваєте; ваше імʼя користувача Last.fm або ListenBrainz зʼявляється в глобальному «хто знає» лише якщо ви це ввімкнули, а доти це вимкнено. /fm account показує все це й видаляє все одразу, і відвʼязування останнього джерела робить те саме.

Last.fm і ListenBrainz. Коли хтось використовує /fm, бот запитує в Last.fm (ws.audioscrobbler.com) або ListenBrainz (api.listenbrainz.org) публічні дані про прослуховування підключеної людини, використовуючи її імʼя користувача й нічого більше про неї. Лише якщо скроблінг назовні ввімкнено, бот також надсилає сервісу прослуховування, які він почув для цієї людини, підписані її ключем. Обкладинки альбомів бот отримує з серверів зображень Last.fm, а не ваш пристрій. Кожен сервіс має власну політику конфіденційності, а те, що він зберігає про ваші прослуховування, і так належало вам там.

Підключення Last.fm відбувається на сторінці самого Last.fm: бот просить у Last.fm одноразовий токен і дає вам адресу, де ви його підтверджуєте, а потім дізнається про це, запитавши Last.fm. Токен живе лише в памʼяті бота, доки його не використано або не мине година, і ніколи не зберігається та не потрапляє в журнал. Якщо ввести лише імʼя користувача Last.fm, акаунт підключається без підтвердження, а Last.fm отримує це імʼя й більше нічого. Для підключення статусу Spotify у Discord боту потрібен інтент Presence; доки його не ввімкнено, доступні лише два інші способи.

Імпорт історії. Якщо ви передасте /fm import файл Spotify або Apple Music, бот прочитає його один раз і збереже лише час, виконавця, трек і альбом кожного прослуховування. Сам файл зберігається в тимчасовому файлі ті кілька хвилин, поки триває імпорт, і одразу видаляється; нікому нічого не надсилається. Імпортовані прослуховування зберігаються, доки ви їх не видалите (у /fm account є кнопка) або не видалите все, і показуються як усі інші: лише людям на серверах, де ви є.

Історія корон. Коли читаються корони сервера або рейтинг «хто знає», бот записує, хто тримає корону кожного виконавця, а коли вона переходить до іншого — хто в кого і коли її забрав, до року. Видалення даних про прослуховування прибирає корони, які ти тримав, і забуває, в кого ти забрав корону.

Шифрування

Вільний текст, який люди пишуть конфіденційно, шифрується за допомогою AES-256-GCM перед збереженням і розшифровується лише в момент показу персоналу, якому його адресовано. Це пʼять речей: апеляції на бан, відповіді на заявки до команди, відповіді, дані під час відкриття звернення, коментар до оцінки звернення і рік, який людина вказує разом із днем народження. Ключ виводиться із секрету, що існує лише в середовищі самого бота — сайт працює як окремий сервіс, який його не має й не міг би ним скористатися, — тож копія бази даних сама по собі дає лише шифротекст.

До 19 вересня 2026 року було сказано «три», а четверте було причиною: коментар до оцінки звернення — «модератор, який закрив це, був зі мною різким» — приблизно таке в ньому й пишуть — зберігався відкритим текстом від дня, коли функція зʼявилася. Він був за дві декларації від відповідей на звернення, які шифрувалися, в тому самому файлі, і ніщо не зіставляло їх одне з одним. Тепер він зашифрований, усе вже збережене перетворено, а перевірка під час збірки відмовляє будь-яке нове поле такого вигляду, доки хтось не запише, до якого з двох воно належить.

Незавершені заявки. Довга анкета заповнюється сторінками. Відповіді на вже надіслані сторінки зберігаються в зашифрованому вигляді так само, як і сама заявка, — доки не надіслано останню сторінку (тоді вони стають заявкою) або протягом години, залежно від того, що настане раніше; заявник може видалити їх будь-коли. Для тих, хто не починав, нічого не зберігається.

Що не зашифровано, кажемо прямо: питання, яке працівник написав поруч з кожною відповіддю, причини, введені модератором у записі модерації, причина, яку учасник вказує для AFK, — яку бот показує всім, хто його згадує, — і налаштування вашого сервера. Нічого з цього не є чиїмись особистими словами про себе, а шифрування коштувало б вашим модераторам можливості шукати у власних записах.

Видалення

Приберіть бота зі свого сервера — і все, що зберігається для цього сервера, буде видалено через тридцять днів, автоматично, без жодного запиту.

Затримка — це функція, а не пастка. Найчастіша причина, чому сервер прибирає бота, — додати його одразу назад з іншими дозволами, а видалення, яке спрацювало б у ту саму мить, коли він пішов, забрало б із собою кожне налаштування, кожне попередження й кожен запис модерації. Запросіть знову в межах цього вікна — і ваш сервер буде точно таким, яким ви його залишили; мине вікно — і нічого не лишиться, до чого можна повернутися. Поки бота немає, нічого нового не записується — він не бачить сервера, — а відлік починається заново від останнього виходу, тож вийти двічі його не скорочує.

Якщо тридцять днів — це забагато, власник сервера або адміністратор може попросити зробити це негайно: напишіть на сервері підтримки. Це робиться на запит, а не за розкладом.

Вхід на панель

Цей сайт — sykbot.com, а документація розміщена на sickenn.info. Вхід відбувається на sicken.me і більше ніде, а cookie нижче належать лише цій адресі — браузер ніколи не надсилає їх на жодну іншу адресу. Сторінка деінде, яка просить вас увійти через Discord для sick, — це не цей сайт. Пошта читається й пишеться на mail.sicken.me. Власного входу вона не має: вона надсилає тебе на sicken.me, щоб увійти, і повертає назад, а її cookie належать лише їй.

У сайту немає бази даних, тож вхід зберігається в одному файлі cookie у вашому браузері. Вхід просить у Discord два дозволи, identify і guilds — ваше імʼя та список серверів, у яких ви є, і більше нічого, — а cookie містить те, що повертається: ваш ідентифікатор Discord, імʼя користувача та ідентифікатор вашого зображення профілю, а також токени доступу й оновлення для цих двох дозволів. Воно зашифроване й автентифіковане за допомогою AES-256-GCM під ключем, який є лише на сайті, тож його неможливо прочитати чи змінити у вашому браузері, і нічого про нього не записується на сервері. Воно також запамʼятовує до чотирьох серверів, які ви нещодавно відкривали, щоб вони йшли в списку першими.

Зображення вашого профілю та значки ваших серверів цей сайт бере з Discord і передає вашому браузеру, тож ваш браузер ніколи не звертається до серверів зображень Discord, а вони ніколи не бачать вашої адреси. Цей сайт не зберігає жодного з них: кожне береться, коли сторінка його просить, а ваш браузер і мережа перед цим сайтом можуть тримати копію до тижня, під адресою, яка змінюється щоразу, коли змінюється зображення.

Поки сторінка налаштувань функції відкрита й на екрані, вона раз на хвилину знову питає в цього сайту — ніколи в когось іншого — списки каналів і ролей вашого сервера, щоб канал, створений щойно, можна було вибрати без перезавантаження. Цей запит несе той самий cookie і відповідь на нього дістає лише той, хто міг відкрити сторінку; це єдине, що будь-яка сторінка тут отримує після завантаження, і Content-Security-Policy дозволяє це лише на цих сторінках.

Він діє тридцять днів від входу, що дає змогу повернутися без повторного підключення Discord; після цього браузер проводиться через Discord без екрана згоди, для застосунку, який ви вже схвалили. Місяць безпечний лише тому, що Discord залишається відповідальним: кожні кілька хвилин сайт питає Discord, чи вхід ще чинний, вихід відкликає токени в Discord — тож копія cookie теж перестає працювати, — а видалення sick у розділі Авторизовані застосунки власних налаштувань Discord завершує його з вашого боку, на всіх пристроях одразу.

Другий cookie містить лише цифру 1 і існує лише після виходу. Він записує, що ви вийшли, тож наступний вхід показує екран згоди Discord — із власним «Не ви?» Discord на ньому, так перемикають акаунт, — замість того щоб його пропускати. Новий вхід його видаляє. Третій живе десять хвилин, поки триває вхід, і містить випадкове значення, яке доводить, що відповідь, яка повертається від Discord, належить входу, початому цим браузером. Ці три — єдині cookie, які встановлює цей сайт. Cloudflare, що стоїть перед ним, може встановити власний короткочасний cookie __cf_bm, щоб відрізняти браузери від ботів; цей cookie належить Cloudflare, і тут його ніщо не читає.

Хто що може бачити

Конфігурацію бачать ті, хто може її змінювати, — за замовчуванням це означає Керування сервером, а для кількох функцій, які цього просять, — Адміністратор. Записи модерації бачать ваші модератори. Ніхто з тих, хто керує ботом, не читає дані вашого сервера як звичайну справу, і немає інтерфейсу, який би це зробив зручним.