Архитектура безопасности

Как на самом деле работают заявления PDF Pro о конфиденциальности.

Всё на этой странице можно проверить в DevTools вашего браузера. Основное правило: мы не должны иметь возможности получить доступ к вашим файлам — даже если бы захотели. Ниже описано, как это правило обеспечивается на уровне криптографии, хранения и запросов.

memoryWebAssembly и JS на стороне клиента lockAES-256-GCM verifiedECDSA P-256 cloud_offКлиентское шифрованное хранение

Четыре опоры архитектуры

Четыре технических решения определяют позицию по безопасности. Они обеспечиваются кодом, выполняемым в вашем браузере, а не документом политики.

memory
1. Локальная обработка в первую очередь
Просмотр PDF, аннотирование, заполнение форм, сжатие, объединение, конвертация и подписание выполняются полностью в вашем браузере с помощью WebAssembly и JavaScript. В этих инструментах никакие данные файла не покидают ваше устройство — это можно проверить во вкладке «Сеть».
key
2. Ключи генерируются на стороне клиента
Когда вам нужно передать файл, ключ шифрования генерируется Web Crypto API внутри вашей вкладки. Он находится в памяти, во фрагменте URL или (в режиме парольной фразы) выводится на устройстве получателя через PBKDF2. Сервер его не видит.
cloud_off
3. Клиентское шифрованное хранение
Хранится только шифротекст AES-256-GCM вместе с вектором инициализации (а в режиме парольной фразы — также соль PBKDF2). Без ключа эти данные криптографически неотличимы от случайных байтов. Даже корневой доступ к базе данных не позволил бы нам их расшифровать.
policy
4. Честная граница для ИИ
Инструменты ИИ (чат, резюме, перевод) нуждаются в читаемом тексте. Мы извлекаем текст на стороне клиента и отправляем поставщику модели только его — никогда сам PDF-файл, изображения или встроенные вложения. Подробности — в разделе ИИ ниже.

Поток шифрования (Безопасная передача)

Побайтовое описание того, что происходит, когда вы перетаскиваете PDF в Безопасную передачу и делитесь полученной ссылкой. Каждый шаг ниже выполняется в браузере, кроме хранения шифротекста.

Отправитель — в браузере
// 1. generate a fresh 256-bit key key = crypto.subtle.generateKey({name:"AES-GCM", length:256}) // 2. random 96-bit IV per file iv = crypto.getRandomValues(new Uint8Array(12)) // 3. encrypt the PDF bytes locally ct = crypto.subtle.encrypt({name:"AES-GCM", iv}, key, pdfBytes) // 4. upload ciphertext + iv — nothing else id = await fetch("/api/transfer", {method:"PUT", body: ct, headers:{"x-iv": hex(iv)}}) // 5. build the share link with the key in the URL fragment (#) link = `https://pdfpro.tools/s/<ID>#<KEY>`
Сервер — хранит только шифротекст
ciphertext = opaque bytes // cannot be decrypted without the key iv = 12-byte nonce expiry = 24 h (free) / 30 d (Pro) // the URL fragment (#...) is NEVER sent to the server by browsers
Получатель — в браузере
// 1. browser loads the page; the "#..." fragment stays client-side rawKey = location.hash.slice(1) // 2. fetch the ciphertext ct = await fetch("/api/transfer/" + id) // 3. decrypt locally using Web Crypto pdf = crypto.subtle.decrypt({name:"AES-GCM", iv}, importKey(rawKey), ct) // 4. file ends up in the recipient's Downloads folder

Гарантия безопасности держится на шаге 5 (отправитель) и шаге 1 (получатель): фрагмент URL после # не передаётся на сервер никаким соответствующим стандарту браузером. Именно поэтому сама ссылка становится учётными данными для расшифровки.

Режим парольной фразы заменяет шаг 1 (отправитель) на PBKDF2-SHA256(парольная фраза, соль, 310_000). Соль хранится на сервере; парольная фраза передаётся получателю по отдельному каналу.

Поток подписания (ECDSA P-256)

Подписание PDF использует ECDSA на кривой NIST P-256. Закрытый ключ генерируется в вашем браузере; документ никогда не покидает ваше устройство.

key
Генерация закрытого ключа
Пара ключей ECDSA P-256 генерируется в вашем браузере через crypto.subtle.generateKey. Закрытый ключ экспортируется в защищённый паролем JSON Web Key (JWK), который вы можете хранить локально.
fingerprint
Хеш SHA-256 и подпись
Байты PDF хешируются с помощью SHA-256 на стороне клиента. Этот хеш подписывается закрытым ключом. Подпись внедряется в PDF в контейнер CMS (профиль PAdES-B-B).
verified
Проверяется офлайн
Любой, у кого есть открытый ключ (распространяемый вместе с документом или в виде отпечатка), может проверить подпись офлайн. Обращение к серверу не требуется.
gavel
Чем это не является
Наши подписи криптографически проверяемы, но не являются квалифицированными электронными подписями (КЭП) согласно eIDAS. Это доказательства целостности с защитой от подделки, подходящие для внутренних рабочих процессов, а не для юридически значимой подписи регулируемого уровня.

ИИ-функции — где мы честны относительно границы

AI Chat, AI Summary и «Перевод» требуют читаемого текста. Вот что именно покидает ваше устройство, а что — нет.

description
Текст извлекается в браузере
PDF разбирается локально с помощью pdf.js. В памяти остаётся только извлечённый текст (а для отсканированных PDF — результат OCR); исходный файл остаётся на вашем устройстве.
outbound
Поставщику передаётся только текст
Мы отправляем эту строку текста поставщику ИИ (Anthropic / OpenAI). Сам PDF, встроенные изображения, шрифты и данные форм никогда не загружаются ни в одну ИИ-модель.
block
Никакого обучения на ваших данных
Наши контракты с поставщиками отключают обучение на пользовательском контенте. Запросы без состояния — каждый ограничен вашей сессией.
info
Когда это важно
Если в документе есть регулируемое содержимое (PHI, секретные данные, адвокатская тайна), где чувствительно даже извлечение текста, не используйте ИИ-функции и работайте с локальными инструментами (просмотр, аннотации, подпись, сжатие, конвертация) — они работают на 100 % в браузере.

Модель угроз — от чего мы защищаем, а от чего не можем

Чёткость в модели угроз полезнее маркетинга. Вот что архитектура действительно останавливает и где она останавливается.

shieldОт чего защищает архитектура

  • Чтение сотрудниками PDF Pro ваших файлов на наших серверах (мы никогда не держим ключ).
  • Взлом на уровне базы данных хранилища передачи (атакующий видит шифротекст, а не файлы).
  • Принудительное раскрытие содержимого файлов по решению суда (мы можем передать шифротекст — это всё, что у нас есть).
  • Сохранение чувствительных вложений на почтовом сервере (на ваш почтовый сервер ничего не попадает).
  • Подделка подписанного PDF (проверка подписи ECDSA обнаруживает любое изменение байта).

warningОт чего не может защитить ни один браузерный инструмент

  • Скомпрометированную конечную точку (вредоносное ПО на вашем устройстве) — ключи находятся в памяти устройства, которому необходимо доверять.
  • Подглядывание из-за плеча за фрагментом URL — относитесь к ссылке для обмена так же, как к самому файлу.
  • Слабую парольную фразу в режиме парольной фразы — PBKDF2 замедляет перебор, но не делает безопасной фразу из 6 символов.
  • Пересылку получателем расшифрованного файла — безопасность передачи заканчивается, когда получатель сохранил PDF.
  • Компрометацию самого браузера или вредоносное расширение, внедряющее код в страницу.

Никаких заявлений о «невзламываемости». Сквозное шифрование значительно повышает стоимость взлома — но не устраняет все риски, особенно на конечном устройстве. Для наиболее чувствительных случаев сочетайте Безопасную передачу с отдельной парольной фразой и обменом ключами по доверенному каналу.

Часто задаваемые вопросы

Может ли PDF Pro расшифровать мои файлы?
Нет. Ключи шифрования генерируются и хранятся в браузере пользователя. В Безопасной передаче сервер хранит только шифротекст AES-256-GCM и вектор инициализации (а в режиме парольной фразы — также соль). Ключ никогда не попадает в нашу инфраструктуру. Даже при полном доступе к базе данных наши операторы не смогут расшифровать ваш файл.
Что именно выполняется локально, а что — на сервере?
Просмотр, аннотации, заполнение форм, сжатие, объединение, конвертация и подписание выполняются на 100 % в вашем браузере через WebAssembly и JavaScript — никакие данные файла не покидают устройство. ИИ-функции (чат, резюме, перевод) извлекают текст локально и передают поставщику модели только его (никогда сам PDF).
Какие алгоритмы использует PDF Pro?
AES-256-GCM для симметричного шифрования (Безопасная передача), PBKDF2-SHA256 с 310 000 итерациями для ключей, выводимых из парольной фразы, ECDSA на NIST P-256 для цифровых подписей и SHA-256 для хеширования документов. Всё это выполняется через нативный Web Crypto API браузера, который проверен, стандартизирован и реализован не нами.
Является ли это юридически обязывающей электронной подписью?
Подписи PDF Pro криптографически проверяемы (ECDSA P-256 поверх хеша SHA-256, профиль PAdES-B-B), но не являются квалифицированными электронными подписями (КЭП) согласно eIDAS или эквивалентным нормативным актам. Для юридически значимой КЭП требуется аккредитованный поставщик доверенных услуг.
Что произойдёт, если я забуду парольную фразу или потеряю ссылку?
Файл будет безвозвратно утерян. Это компромисс сквозного шифрования — пути восстановления нет, потому что мы никогда не имели ключа. Сохраняйте парольную фразу в менеджере паролей, а ссылку — в надёжном месте.
Ведёте ли вы серверные журналы активности с файлами?
Мы ведём операционные журналы (время запросов, коды ошибок, IP-адреса для ограничения скорости), но никогда — содержимое файлов в открытом виде или ключи шифрования. Журналы хранятся по короткому расписанию — текущие сроки хранения см. в нашей политике конфиденциальности.
Может ли судебное решение заставить вас раскрыть мои файлы?
Мы можем передать только то, что у нас есть: шифротекст. Без ключа расшифровки — который остаётся на устройстве отправителя или во фрагменте URL у получателя — этот шифротекст невозможно расшифровать. Повестка не может задним числом восстановить ключ, который мы никогда не хранили.
Где я могу самостоятельно проверить криптографические заявления?
Откройте DevTools браузера → вкладку «Сеть» и наблюдайте, что покидает страницу во время загрузки в Безопасной передаче. Вы увидите шифротекст, отправляемый методом PUT на сервер, а не исходный PDF. Код шифрования вызывает Web Crypto API, встроенный в ваш браузер — не наш код — и доступен для аудита любому.

Конфиденциальность как архитектура, а не как маркетинг.

Попробуйте Безопасную передачу и осмотрите вкладку «Сеть» сами. Никакие файлы никогда не загружаются в открытом виде.

lockПопробовать Безопасную передачу