Бесплатный инструмент · работает локально

Проверьте, что ретранслятор вернул оригинальный ответ

Вставьте ответ API с доказательством в верификатор ниже. Он проверит подпись прямо в браузере и покажет, с какого официального upstream-хоста пришёл ответ и не изменил ли его ретранслятор. Данные не покидают ваш компьютер.

  • Данные остаются в браузере
  • Open-source верификатор
  • Бесплатно, без регистрации

Проверка ответа в три шага

  1. 1

    Включите проверку для ключа

    На странице API включите для ключа переключатель «Проверка официального подключения». Доказательство есть только у ответов Claude Messages и GPT Responses, переданных без изменений.

  2. 2

    Сохраните ответ целиком

    Отправьте потоковый запрос и запишите байты ответа в файл без изменений с помощью curl -o; в конце должно быть event: tee.proof. Для непотоковых запросов добавьте заголовок x-wokey-tee-proof-mode: multipart и сохраните multipart-ответ целиком. В Windows используйте curl.exe -o, а не перенаправление > в PowerShell или пересохранение в Блокноте: они меняют переводы строк или кодировку.

  3. 3

    Вставьте его в верификатор

    Вставьте или перетащите полный ответ в верификатор ниже и запустите проверку. Она выполняется в вашем браузере на этой странице без сетевых запросов.

Сохраните ответ целиком
curl -sN https://api.wokey.ai/v1/messages \
  -H "x-api-key: YOUR_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{"model":"claude-sonnet-5","max_tokens":256,"stream":true,"messages":[{"role":"user","content":"Hello"}]}' \
  -o captured-response

Верификатор выше публикуется напрямую из open-source репозитория через GitHub Pages и не проходит через серверы Wokey, поэтому Wokey не может подменить его на версию, которая всегда пишет «пройдено». Можно также сохранить страницу и открыть её офлайн.

Верификатор попросит сверить PCR0 — измерение образа анклава. Используйте значение, опубликованное в open-source репозитории (любой может воспроизвести его из исходного кода), а не значение, пришедшее вместе с ответом.

Как читать результат

Все проверки пройдены
Аттестация выстраивается в цепочку до корневого сертификата AWS Nitro, PCR0 совпадает с опубликованным значением, подпись действительна, а байты ответа совпадают с подписанным хешем. Показанный upstream-хост (например, api.anthropic.com) — это источник ответа, и ретранслятор его не изменял.
Доказательство действительно, но нет тела ответа
Вы вставили только событие tee.proof. Доказательство подписано настоящим анклавом, но без тела ответа хеш пересчитать нельзя, поэтому неизменность увиденного вами содержимого не подтверждена. Вставьте ответ целиком.
PCR0 не совпадает
Аттестация подлинная, но в анклаве работает не проверенный образ. Считайте ответ непроверенным.
Ошибка проверки подписи или хеша
Доказательство или ответ были изменены, либо байты изменились при сохранении или копировании (например, при смене кодировки). Сохраните исходный ответ заново с помощью curl -o; если проверка снова не проходит, не доверяйте ответу. Если программа при сохранении заменила переводы строк на CRLF или сохранила файл в UTF-16, верификатор преобразует его обратно и сообщит об этом; результат по-прежнему определяется подписанным хешем.
Нет tee.proof
Ответ не подтверждён: возможно, для ключа не включена проверка, запрос прошёл через преобразование формата или анклав был недоступен. Считайте ответ непроверенным.

Как проверить другие ретрансляторы: что выявляет каждый метод и что упускает

Без подписи upstream возможны только косвенные проверки. Они выявляют очевидные проблемы, но лучший возможный итог — «ничего подозрительного не найдено», а не «подтверждено, что это официальный API». Ниже — распространённые методы и их ограничения.

Подсчёт токеновКак проверить: Отправьте один и тот же фиксированный промпт одной и той же модели через официальный API и через ретранслятор и сравните input_tokens в usage.Что выявляет: Модель другого вендора: токенизаторы у вендоров разные, поэтому числа заметно не совпадут.Что упускает: Модели одного вендора часто используют общий токенизатор, так что подмену на более дешёвую модель того же семейства не заметить. Кроме того, нужно эталонное значение из официального API.
Кэширование промптовКак проверить: Дважды отправьте один и тот же префикс длиннее минимальной кэшируемой длины для модели. Убедитесь, что второй ответ содержит cache_read_input_tokens и тарифицируется по цене чтения из кэша.Что выявляет: Бэкенд, который не является официальным upstream, или ретранслятор, который ломает кэширование, но берёт полную цену.Что упускает: Попадание в кэш показывает только, что бэкенд поддерживает кэширование, но не говорит, какая это модель.
Длинный контекстКак проверить: Отправьте текст, близкий к заявленному пределу контекста, спрячьте в середине один ключевой факт и задайте вопрос о нём.Что выявляет: Модель с меньшим контекстным окном, выдаваемую за настоящую, или ретранслятор, который незаметно обрезает историю.Что упускает: Правильный ответ не доказывает версию модели, и эта проверка расходует больше всего токенов.
Детали протоколаКак проверить: Сравните порядок потоковых событий (от message_start до message_stop), формат id сообщений, заголовки и формат ошибок с официальной документацией.Что выявляет: Грубые обёртки, которые подгоняют вывод чужой модели под формат Claude.Что упускает: Все эти поля легко подделать; аккуратная обёртка воспроизведёт их в точности.

На что не стоит полагаться

  • Спрашивать модель «кто ты?» или «какая у тебя дата среза знаний?»: официальные модели сами часто ошибаются, а ретранслятор с помощью системного промпта может заставить любую модель называть себя Claude.
  • Оценивать качество или скорость ответов на глаз: промпты, нагрузка и случайность слишком сильно на них влияют; это лишь подсказка.

Почему здесь нет проверки любого ретранслятора в один клик

  • Для проверки нужно отправлять запросы с вашим API-ключом от этого ретранслятора. Пропускать их через наши серверы означало бы передать нам ключ от чужого сервиса, а хранить такие ключи мы не хотим.
  • Запрос к ретранслятору напрямую из браузера не сработает: большинство ретрансляторов не разрешают кросс-доменные запросы.
  • Проверки выше могут сказать только «подозрительно» или «ничего не найдено». Если упаковать их в итоговый балл, он будет выглядеть авторитетно и вводить в заблуждение.

Чек-лист для самопроверки ретранслятора

Перед выбором ретранслятора или если вы сомневаетесь в текущем, проверьте по порядку:

  • Есть ли в ответе доказательство от upstream, которое можно проверить офлайн? Если да, официальный ли подписанный upstream-хост — например, api.anthropic.com для Claude?
  • Совпадают ли input_tokens для фиксированного промпта с официальным API?
  • После повтора длинного префикса возвращаются ли поля чтения из кэша и тарифицируется ли запрос по цене кэша?
  • Обрабатывается ли контекст, близкий к заявленному пределу, без обрезки?
  • Публикует ли ретранслятор, откуда берутся его мощности и логирует или хранит ли он содержимое запросов?
  • Если ретранслятор нельзя проверить, не отправляйте через него секреты, данные клиентов и другую конфиденциальную информацию.

Что доказательство показывает, а что нет

Показывает

  • С какого официального upstream-хоста пришёл ответ.
  • Байты ответа в точности совпадают с тем, что вернул upstream, включая поле model; ретранслятор ничего не изменил.
  • В анклаве работает образ, собранный из открытого исходного кода (PCR0 воспроизводим).

Не показывает

  • Конфиденциальность: при пересылке ретранслятор по-прежнему обрабатывает открытый текст.
  • Ответы без доказательства — например, запросы с преобразованием формата и генерация изображений.
  • Повторное воспроизведение старого ответа при побайтно одинаковых запросах.
Подробное описание доказательства

Частые вопросы

Вставленный ответ куда-нибудь загружается?

Нет. Верификатор — это страница, работающая только на стороне браузера: подписи проверяются встроенным в браузер WebCrypto без сетевых запросов. Это можно проверить на вкладке «Сеть» в инструментах разработчика или сохранить верификатор и пользоваться им офлайн.

Законно ли пользоваться AI API-ретрансляторами?

Это зависит от законов страны, где находитесь вы и ретранслятор, а также от условий использования upstream-провайдера, которые различаются по регионам и провайдерам; эта страница не является юридической консультацией. Перед использованием ознакомьтесь с условиями upstream и местными правилами, особенно если речь идёт о конфиденциальных или регулируемых данных. Этот инструмент отвечает только на один вопрос, который можно проверить технически: является ли полученный ответ оригиналом от официального upstream.

Как понять, что ретранслятор отдаёт «урезанную» модель?

Если модель через ретранслятор кажется глупее, обычно причина одна из следующих: незаметная подмена на более дешёвую модель, обрезанная история диалога, пониженный лимит вывода или отключённый режим рассуждений (thinking). Ответ с доказательством исключает первый вариант: подпись покрывает исходные байты upstream, поэтому поле model приходит от официального API. Обрезка истории и изменение параметров происходят на стороне запроса, которую доказательство ответа не покрывает; здесь помогут проверки длинного контекста и подсчёта токенов, описанные выше.

Чем зеркало Claude отличается от официального сайта?

Официальные продукты — это claude.ai и Anthropic API. Зеркало — это сторонний чат-сайт, который может работать через официальный API, общие аккаунты или модель другого вендора, со своими функциями и политикой конфиденциальности, и пользователь обычно не может понять, что именно внутри. Если вы используете API из таких инструментов, как Claude Code или Cursor, речь идёт об API-ретрансляторах, и критерий тот же: может ли сервис дать доказательство от upstream, которое вы проверите сами?

Что делать, если в ответе нет tee.proof?

Убедитесь, что для ключа включена «Проверка официального подключения» и что вы вызываете маршрут с передачей без изменений — Claude Messages или GPT Responses. Запросы с преобразованием формата, например Claude через Chat Completions, никогда не содержат доказательства. Если анклав временно недоступен, запрос переключается на резервный путь, и у такого ответа тоже нет доказательства. Любой ответ без доказательства считайте непроверенным.

Можно ли проверить этим инструментом другие ретрансляторы?

Верификатор проверяет только ответы с доказательством Proof-of-Observation. Протокол открыт, и любой ретранслятор может его реализовать; для тех, кто этого не сделал, остаются только косвенные проверки выше, и лучший возможный итог — «ничего подозрительного не найдено».