SYSTEM STATUS: SECURE
DELEOELEO
Угрозы Механика Для кого Тарифы FAQ Попробовать бесплатно

ТВОИ ДАННЫЕ ИСЧЕЗНУТ.
ЭТО НЕ УГРОЗА. ЭТО ЗАЩИТА.

DELEO — автономная система уничтожения данных. Срабатывает, когда устройство теряет связь или его пытаются взломать.

Работает офлайн Шифрование диска Необратимо
DELEO — знак D
Модель угроз

КОГДА ТЫ ТЕРЯЕШЬ УСТРОЙСТВО, ТЫ ТЕРЯЕШЬ ВСЁ.
МЫ НЕ ДАДИМ.

Изъятый ноутбук. Потерянный телефон. Принудительная разблокировка. Пока ты читаешь это, твои данные могут быть уже в чужих руках. Пароли не спасают. Шифрование не спасает, когда ключи у тебя в голове. Спасёт только то, чего физически не существует.

КРАЖА УСТРОЙСТВА
ИЗЪЯТИЕ ЗЛОУМЫШЛЕННИКАМИ
ШАНТАЖ ЛИЧНЫМИ ФОТО
ВЗЛОМ АККАУНТОВ
Механика

Никаких сложных схем. Только протокол.

01 / ШИФРОВАНИЕ

ДИСК ЗАЩИЩЁН

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

02 / ОТСУТСТВИЕ СВЯЗИ

DEAD MAN'S SWITCH

Устройство ушло в офлайн или выключено слишком долго? DELEO ждёт заданное время и запускает протокол.

03 / ПРИНУЖДЕНИЕ

DURESS-PIN · ZERO TRACE

Тебя заставляют разблокировать устройство — введи аварийный PIN. DELEO изобразит вход, а в фоне перезапишет данные нулями. Восстановить невозможно.

Windows Android скоро iOS скоро
Функции

Одна система. Все устройства.

Кроссплатформенность

Windows сегодня, Android и iOS — скоро. Одна учётная запись, одна защита на всех устройствах.

Офлайн-защита

Протокол выполняется локально. Связь нужна только для того, чтобы его остановить.

Fast-Wipe

Уничтожение критичных данных — мессенджеры, браузеры, кошельки — за 15 секунд.

Панель управления

Все устройства и подписка — из одного места, с любой из платформ.

Для кого

ДЛЯ ТЕХ, КТО ЗНАЕТ ЦЕНУ ТИШИНЕ

Журналисты

Защита источников

Юристы

Адвокатская тайна

Бизнес

Коммерческие секреты

Единственный секрет, который невозможно украсть — это тот, которого больше не существует.
Тарифы

Выберите уровень защиты

Basic

$0
1 устройство
  • ✓ Базовый таймер
  • ✓ Шифрование диска
  • ✓ Экран блокировки
Начать бесплатно

Personal

$9/мес
1 устройство · до 3 · +$3 за доп.
  • ✓ Всё из Basic
  • ✓ Duress-PIN
  • ✓ Fast-Wipe
  • ✓ Dead Man's Switch
Выбрать Personal

Family

$12/мес
1 устройство · до 6 · +$2 за доп.
  • ✓ Всё из Personal
  • ✓ Общая подписка на семью
  • ✓ Групповая паника
Выбрать Family

Corporate

$25/мес
1 устройство · до 25 · +$1 за доп.
  • ✓ Всё из Family
  • ✓ Панель администратора
  • ✓ Приоритетная поддержка
Выбрать Corporate
FAQ

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

Восстановятся ли данные после очистки?+
Нет. Очистка необратима — это гарантия, а не недостаток. Восстановить данные после срабатывания невозможно ни локально, ни из резервных копий, если они не хранились отдельно от устройства.
Что если я забыл PIN?+
Данные будут потеряны по истечении таймера — отменить очистку без верного PIN нельзя. Поэтому обязательно сохраните recovery-код в надёжном месте отдельно от защищаемого устройства.
На каких платформах работает DELEO?+
Сейчас доступен Windows. Версии для Android и iOS в разработке — подписка будет единой для всех устройств.
Личный кабинет

Войдите через Telegram

Тот же кабинет, что и в Telegram Mini App: тариф, оплаченные устройства, ключ и список HWID.

Тариф
—
—
—
Оплачено устройств
—
Активировано
—
Действует до
—
Управление
—
Ключ лицензии
—
Устройства

Для этого Telegram-аккаунта ещё нет выпущенного токена. Оформите подписку в боте.

Данные исчезают раньше, чем их прочтут

Установи DELEO за 5 минут и возьми защиту под контроль.

// ---------- Telegram Login Widget + личный кабинет ---------- const TG_BOT_USERNAME = 'DeleoTestBot'; const SESSION_KEY = 'deleo_session_token'; const cabEsc = (s) => String(s ?? '').replace(/[&<>"']/g, c => ({'&':'&','<':'<','>':'>','"':'"',"'":'''}[c])); const cabDate = (iso) => { if (!iso) return '—'; const d = new Date(iso); return Number.isNaN(d.getTime()) ? '—' : d.toLocaleDateString('ru-RU', { day: '2-digit', month: '2-digit', year: 'numeric' }); }; const cabOsIcon = (name) => { const n = String(name || '').toLowerCase(); if (n.includes('windows') || n.includes('win')) return ''; if (n.includes('apple') || n.includes('mac') || n.includes('ios')) return ''; if (n.includes('android')) return ''; return ''; }; const showCabinet = (which) => { document.getElementById('cabinetLogin').classList.toggle('hide', which !== 'login'); document.getElementById('cabinetApp').classList.toggle('hide', which !== 'app'); document.getElementById('cabinetEmpty').classList.toggle('hide', which !== 'empty'); }; const renderCabinet = (data, user) => { if (!data.has_subscription) { showCabinet('empty'); return; } showCabinet('app'); const paid = Number(data.paid_devices ?? data.max_devices ?? 0); const activated = Number(data.activated_devices ?? data.bound_count ?? 0); const valid = data.valid !== false; document.getElementById('cabPlan').textContent = data.plan || '—'; document.getElementById('cabUser').textContent = 'Telegram ID ' + data.telegram_id + (user && user.username ? ' · @' + user.username : ''); const badge = document.getElementById('cabStatus'); badge.textContent = valid ? 'Активна' : 'Истекла'; badge.className = 'cab-badge' + (valid ? '' : ' bad'); document.getElementById('cabPaid').textContent = paid; document.getElementById('cabActivated').textContent = activated + ' из ' + paid; document.getElementById('cabExpires').textContent = cabDate(data.expires_at); document.getElementById('cabManagement').textContent = (data.management_limit || 0) + ' экран(а)'; document.getElementById('cabKey').textContent = data.license_key || '—'; const devices = data.devices || []; document.getElementById('cabDevices').innerHTML = devices.length ? devices.map(d => { const os = d.os_name ? cabEsc(d.os_name) + (d.os_version ? ' ' + cabEsc(d.os_version) : '') : 'ОС неизвестна'; return '
' + '
' + cabOsIcon(d.os_name) + '' + cabEsc(d.device_name || 'Устройство') + '
' + '
' + os + ' · HWID ' + cabEsc(d.hwid) + '
' + '
Активировано ' + cabDate(d.activated_at) + '
' + '
' + (d.blocked ? 'Заблокировано' : 'Активно') + '
'; }).join('') : '
Устройства ещё не привязаны. Введите ключ в приложении Deleo.
'; }; const loadCabinet = async () => { const session = sessionStorage.getItem(SESSION_KEY) || ''; if (!session) { showCabinet('login'); return; } try { const resp = await fetch('/api/tma/status', { headers: { Authorization: 'Bearer ' + session } }); const data = await resp.json().catch(() => ({})); if (!resp.ok || !data.ok) { sessionStorage.removeItem(SESSION_KEY); showCabinet('login'); return; } renderCabinet(data, null); } catch (_) { showCabinet('login'); } }; window.onTelegramAuth = async (user) => { try { const resp = await fetch('/api/auth/telegram', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(user) }); const data = await resp.json().catch(() => ({})); if (!resp.ok || !data.session_token) { alert(data.error || 'Не удалось войти через Telegram.'); return; } sessionStorage.setItem(SESSION_KEY, data.session_token); const statusResp = await fetch('/api/tma/status', { headers: { Authorization: 'Bearer ' + data.session_token } }); const status = await statusResp.json().catch(() => ({})); if (!statusResp.ok || !status.ok) { alert(status.error || 'Не удалось получить данные кабинета.'); return; } renderCabinet(status, data.user); document.getElementById('cabinet').scrollIntoView({ behavior: 'smooth', block: 'start' }); } catch (_) { alert('Сеть недоступна. Попробуйте ещё раз.'); } }; document.getElementById('cabCopy').addEventListener('click', async () => { const value = document.getElementById('cabKey').textContent; if (!value || value === '—') return; try { await navigator.clipboard.writeText(value); const btn = document.getElementById('cabCopy'); btn.textContent = 'Скопировано'; setTimeout(() => btn.textContent = 'Копировать', 1500); } catch (_) {} }); document.getElementById('cabLogout').addEventListener('click', () => { sessionStorage.removeItem(SESSION_KEY); showCabinet('login'); }); (() => { const widget = document.createElement('script'); widget.async = true; widget.src = 'https://telegram.org/js/telegram-widget.js?22'; widget.setAttribute('data-telegram-login', TG_BOT_USERNAME); widget.setAttribute('data-size', 'large'); widget.setAttribute('data-radius', '10'); widget.setAttribute('data-onauth', 'onTelegramAuth(user)'); widget.setAttribute('data-request-access', 'write'); document.getElementById('tgLogin').appendChild(widget); loadCabinet(); })();