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

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

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

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

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

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

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

## Як це обслуговується

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

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

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

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

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