Коли ви надсилаєте конфіденційні документи клієнтам, інвесторам або партнерам, виникає логічне питання: як саме ці файли захищені?
Ця стаття пояснює реальну архітектуру безпеки PaperLink з посиланнями на публічні сертифікації кожного провайдера. Без маркетингових формулювань - тільки як це працює.
Чотири сертифіковані провайдери інфраструктури
PaperLink не утримує власні сервери. Додаток, база даних, файлове сховище та аналітика працюють на окремих провайдерах. Кожен має незалежні сертифікації безпеки, підтверджені третіми сторонами.
| Провайдер | Роль | Ключові сертифікації |
|---|---|---|
| Vercel | Хостинг додатку | SOC 2 Type 2, ISO 27001:2022, PCI DSS |
| Neon | База даних PostgreSQL | SOC 2 Type 2, ISO 27001, ISO 27701, GDPR, CCPA |
| Vercel Blob | Файлове сховище | AES-256 шифрування at rest |
| Tinybird | Аналітика переглядів | SOC 2 Type 2, HIPAA |
Усі чотири провайдери мають сертифікацію SOC 2 Type 2 - це означає, що їхні заходи безпеки перевіряються безперервно, а не одноразово.
Шифрування на кожному рівні
| Що захищено | Метод | Хто керує ключами |
|---|---|---|
| Файли на диску | AES-256 (Vercel Blob) | Vercel (автоматичне керування) |
| Записи в базі даних | AES-256 (Neon) | AWS KMS з автоматичною ротацією |
| Дані аналітики | Шифрування at rest (Tinybird) | Унікальні ключі для кожного сервісу |
| Весь мережевий трафік | TLS/HTTPS (Vercel) | Автоматична генерація SSL-сертифікатів |
| З'єднання з базою | TLS 1.2/1.3 (Neon) | Neon (обов'язково) |
| Паролі посилань | Bcrypt хеш (стандарт OWASP) | Незворотний - навіть PaperLink не може їх прочитати |
Файли шифруються до запису на диск. Дані шифруються в базі. Все передається через HTTPS. У ланцюжку немає точки, де дані зберігаються незашифрованими.
Як працює доступ до документів
Зовнішні отримувачі ніколи не звертаються до файлів напряму. Кожен перегляд проходить через посилання для спільного доступу з налаштованими бар'єрами.
Анатомія посилання
Кожне посилання має унікальний ідентифікатор з 2^122 можливими комбінаціями. Для контексту: у спостережуваному Всесвіті приблизно 10^80 атомів. Вгадати ідентифікатор посилання методом перебору - нереалістичний вектор атаки.
Посилання підтримують автоматичне закінчення терміну дії. Після закінчення терміну посилання повертає помилку, не розкриваючи жодної інформації про документ. Власник також може деактивувати посилання миттєво з панелі керування.
Бар'єри доступу
Кожне посилання може вимагати будь-яку комбінацію чотирьох бар'єрів. Документ завантажується лише після проходження всіх активних перевірок:
- Пароль - отримувач повинен ввести пароль. Зберігається як криптографічний хеш bcrypt - незворотний, індустріальний стандарт
- Обов'язковий вхід - отримувач повинен мати акаунт PaperLink та бути авторизованим
- Обов'язковий email - отримувач повинен надати свою електронну адресу перед переглядом
- Угода/NDA - отримувач повинен прочитати та підписати юридичний документ перед переглядом
Бар'єри комбінуються. Юридична фірма, що надсилає документи для due diligence, може увімкнути пароль + NDA. Відділ продажу, що надсилає комерційну пропозицію, може обмежитися email. Власник документа вирішує для кожного посилання окремо.
Для конфіденційних документів використовуйте мінімум Пароль + Термін дії. Надсилайте пароль окремим каналом - дзвінком, SMS або іншим месенджером.
Аудит кожного перегляду
PaperLink записує кожен перегляд документа в окрему аналітичну систему (Tinybird, сертифікація SOC 2 Type 2). Власник документа бачить:
- Хто переглянув документ (email, якщо увімкнений бар'єр email)
- Коли відбувся перегляд (мітка часу)
- Які сторінки були переглянуті та скільки часу отримувач провів на кожній
- IP-адреса, пристрій, браузер та географічне розташування
Дані доступні в реальному часі. Якщо отримувач відкриває контракт о 2:47 ночі з несподіваної країни - власник документа бачить це миттєво.
Ізоляція даних між командами
PaperLink - багатокористувацька платформа, де кілька організацій працюють в одному додатку. Ізоляція даних між командами забезпечується на рівні бази даних.
Кожен запит до бази включає ідентифікатор команди. Запити Команди А фізично не можуть повернути записи Команди Б. Це не фільтр інтерфейсу, який можна обійти - це обмеження на рівні бази даних.
Ідентифікатор команди береться з серверного токена сесії, а не з клієнтського запиту. Модифікований клієнт не може видати себе за іншу команду, оскільки ідентифікатор криптографічно прив'язаний до авторизованої сесії.
Захист завантаження файлів
Кожне завантаження файлу проходить п'ять перевірок:
- Користувач повинен бути авторизований (валідна сесія)
- Користувач повинен бути учасником цільової команди
- Приймаються тільки PDF-файли (білий список MIME-типів)
- Розмір файлу обмежений відповідно до плану підписки
- Токен завантаження генерується на стороні сервера через захищений механізм Vercel
Неавторизований запит, файл не у форматі PDF або файл завеликого розміру відхиляється до потрапляння у сховище.
Автоматичне тестування безпеки
PaperLink запускає 53 тести безпеки та архітектури при кожній зміні коду. Жоден код не потрапляє у продакшн без проходження всіх перевірок.
Ці тести покривають:
- Ізоляцію команд - перевірка, що кожен запит до бази обмежений правильною командою, для кожної функції (документи, спільний доступ, бухгалтерія, керування командою)
- Архітектурні межі - статичний аналіз, що відхиляє код, де логіка бази даних з'являється в шарі інтерфейсу
- Обмеження завантажень - тест, що перевіряє білий список типів файлів у маршруті завантаження
- Безпека конфігурації - перевірка, що облікові дані не потрапляють у репозиторій коду
Це не опціональні перевірки. Вони запускаються автоматично перед кожним розгортанням і блокують реліз, якщо хоча б один тест не пройдений.
Від чого PaperLink захищає
| Атака | Захист |
|---|---|
| Підбір посилання | UUID-ідентифікатор (2^122 комбінацій - математично нездійсненно) |
| Доступ без авторизації | Багаторівневий контроль доступу (пароль, вхід, email, NDA) |
| Перегляд протермінованого документа | Серверна перевірка терміну до повернення будь-яких даних |
| Читання даних іншої команди | Ізоляція на рівні бази даних у кожному запиті |
| Перехоплення даних при передачі | TLS/HTTPS на всіх з'єднаннях (Vercel enforced) |
| Доступ до даних на диску | AES-256 шифрування at rest (Vercel Blob, Neon) |
| SQL-ін'єкція | Параметризовані ORM-запити (без прямого SQL) |
| Міжсайтовий скриптинг (XSS) | Автоматичне екранування виводу (React framework) |
| Завантаження шкідливих файлів | Білий список тільки PDF з серверною валідацією |
| Витік облікових даних у коді | Автоматичний тест блокує коміти з відкритими секретами |
Що знаходиться за межами контролю платформи
Жодна платформа для обміну документами не може завадити довіреному отримувачу переслати посилання, поділитися паролем або сфотографувати екран. Це організаційні ризики, а не вразливості платформи.
PaperLink надає інструменти, які допомагають організаціям керувати цими ризиками - бар'єри паролів, вимоги NDA, аналітика переглядів, що створює відповідальність, та термін дії посилань, що обмежує вікно доступу. Але рішення про використання цих інструментів та навчання персоналу залишається за організацією.
Повна документація безпеки PaperLink з посиланнями на сертифікації інфраструктури доступна за запитом. Зверніться на info@codestreamly.com.
Починайте ділитися документами безпечно
PaperLink поєднує посторінкову аналітику переглядів з багаторівневим контролем доступу - ви точно знаєте, хто читає ваші документи, і контролюєте, як до них отримують доступ.
Створіть безкоштовний акаунт та надішліть перший документ з повним трекінгом менш ніж за дві хвилини.



