# Як ми працюємо безпечно

Безпека — не послуга, яку ми продаємо окремо. Це спосіб виконувати роботу:
модель загроз є частиною проєктування, посилення захисту — частиною збірки, а
докази — частиною передачі справ.

## Як ми будуємо

- **Мінімальні привілеї за замовчуванням.** Сервіси працюють від імені
  власних непривілейованих користувачів, з мінімальним доступом, потрібним для
  роботи. Навіть скомпрометований компонент не зможе дістатися до наступного.
- **Секрети ніколи не потрапляють у репозиторій.** Облікові дані зберігаються у
  сховищі секретів або на рівні розгортання — ніколи у вихідному коді й ніколи в
  артефактах збірки. Автоматичне сканування перевіряє кожен коміт, і будь-яка
  знахідка його блокує.
- **Інфраструктура описана як код.** Сервери будуються з опису, який можна
  прочитати, переглянути й відтворити, — тож конфігурація машини є документом
  у системі контролю версій, а не спогадом у чиїйсь голові.
- **Залежності зафіксовані й перевірені.** Склад системи задокументовано, і цей
  перелік звіряють з опублікованими бюлетенями безпеки, а не вважають надійним
  лише тому, що місяць тому все працювало.
- **Шифрування під час передавання — скрізь.** Сертифікати видаються й
  поновлюються автоматично, а поновлення відстежується, бо найчастіше TLS
  ламається через сертифікат, за яким ніхто не стежив.
- **Резервні копії, з яких відновлюють, а не лише роблять.** Резервна копія —
  лише обіцянка, доки з неї хтось не відновив дані. Ми перевіряємо
  відновлення.

## Як збудовано цей сайт

До власного сайту ми застосовуємо ті самі стандарти, і кожен рядок нижче ви
можете перевірити у своєму браузері.

- **Жодного бекенду, жодної бази даних, жодного входу в адмінку.** Кожна
  сторінка — це статичний файл, згенерований ще до того, як ви її запросили, тож
  немає застосунку, який можна зламати, сесії, яку можна вкрасти, і взагалі
  жодної поверхні для ін'єкцій.
- **Один власний скрипт, менший за кілобайт.** Він фільтрує список, поки ви
  вводите текст. Він не робить запитів, нічого не зберігає й ніде більше не
  виконується.
- **Сувора [Content Security Policy](/uk/glossary/#csp)**, оголошена в самій
  сторінці, з `form-action 'none'` — сайт нікуди не надсилає форм.
- **[Subresource Integrity](/uk/glossary/#sri) для таблиці стилів.** Під
  час збірки бандлу присвоюється відбиток і обчислюється хеш, тож ваш браузер
  може перевірити, що він надійшов без змін.
- **Жодних запитів до третіх сторін.** Жодної аналітики, жодних вбудованих
  шрифтів, жодного віджета карт, жодного банера згоди. Відкрийте панель мережі
  в браузері й порахуйте хости: він один, і він наш.
- **Жодних cookie.** Усе про те, що зберігається, а що ні, — на сторінці
  [про cookie](/uk/cookies/).
- **Машинозчитувана політика розкриття вразливостей** за адресою
  [`/.well-known/security.txt`](/.well-known/security.txt), щоб дослідник, який
  щось знайшов, знав, куди це надіслати, не питаючи.

## Як ми експлуатуємо сайт

Один невеликий сервер у Торонто, описаний кодом, із журналом доступу, який
маскується вже в момент запису й зберігається близько тридцяти днів.
[Сторінка подяк](/uk/credits/) називає кожну програму на ньому, а
[сторінка про конфіденційність](/uk/privacy/) точно описує, що він записує,
коли відповідає на запити.

## Повідомити про вразливість

Якщо ви знайшли слабке місце на цьому сайті або в будь-якій іншій системі, яку
ми експлуатуємо, напишіть на [welcome@engineer.company](mailto:welcome@engineer.company) і розкажіть, що знайшли і як це
відтворити. Ми підтвердимо отримання, повідомимо, що робимо, щоб це виправити,
і, якщо бажаєте, зазначимо ваше ім'я в подяках. Тут лише адреса, за якою вам
відповість інженер: без програми винагород і без юридичних погроз.

Хочете, щоб ваші системи перевірили так само ретельно?
[попросіть нас подивитися](/uk/contact/) *(ми скажемо, що справді знайшли)*.

<https://ditte.engineer.company/uk/security/>
