Методология
Как мы превращаем доказательства в число
Каждое значение на этом сайте прослеживается до цитируемого первоисточника, а арифметика, которая его получила, публична на этой странице. Ничто здесь не является вердиктом, которому вас просят доверять; это расчёт, который вам предлагается проверить.
Предварительно, ещё не проверено человеком.
Текущий корпус собран и проверен по ссылкам машиной. Ни один человек пока не сверил каждую выдержку с её источником, поэтому ничто на сайте не подаётся как рекомендованное. Эта страница описывает метод, который будет управлять проверенным корпусом; метод реален уже сегодня, а проверка человеком ещё не завершена.
1 · Нет доказательств, нет оценки
Факт достигает правила оценки только если несёт хотя бы одну ссылку на первоисточник, политику конфиденциальности, отчёт об аудите, судебный документ, исходный код или измерение, которое мы провели сами. Это не рекомендация, которой мы стараемся следовать; факт с пустым списком доказательств вообще нельзя создать, поэтому он не может достичь правила.
Мы никогда не ссылаемся на сайт-обзорщик конкурента. Список заблокированных доменов проваливает нашу сборку, если кто-то попытается. Ранжирование VPN отчасти по тому, что о них сказали другие рейтинговые сайты, отмывало бы их выводы в наши, а их выводы, это именно то, что мы существуем, чтобы заменить.
Факты, которые мы не подкрепили источником, представляются отсутствием поля, никогда нулём и никогда пустой ссылкой. Эта разница важна для следующего правила.
Independent security assessment
How we audit a VPN application
This protocol describes the hands-on security assessment used for SingLinkVPN v2.5 and future VPN client audits. It is version-, platform-, environment-, and time-bound: every result belongs to the exact build and test matrix recorded in the report.
Governing principles
- Freeze the product version, platform build, test date, account state, network, and test environment before execution.
- Record expected behavior, actual behavior, raw evidence, severity, retest status, and reviewer for every test case.
- Treat “not reproduced” as a bounded observation, never proof that a vulnerability cannot exist.
- Test normal use, failure states, adversarial requests, network transitions, and regression after remediation.
- Keep provider statements separate from our measurements; a claim cannot replace a test result.
- Publish scope exclusions and unavailable evidence beside the result, not in fine print.
Minimum test matrix
The exact matrix varies by product. A cross-platform audit should cover every supported client that can create a materially different security path.
| Area | Required coverage |
|---|---|
| Platforms | iOS, Android, macOS, Windows, Linux, TV clients, and web dashboard where offered |
| Networks | Wi-Fi, mobile data, IPv4, IPv6, network loss, network switching, captive or restricted conditions where available |
| Connection states | First connect, reconnect, server switch, sleep/wake, app restart, process termination, logout, expired session |
| Tunnel modes | Full tunnel, split tunnel, application and domain exclusions, automatic routing |
| Accounts | Valid, invalid, expired, logged-out, cross-device, and unauthorized request states |
| Builds | Production build identifiers and remediated builds; debug-only behavior is excluded unless explicitly tested |
Execution procedure
1. Scope, authorization, and asset freeze
Define what is permitted and preserve the identity of everything being tested before touching the product.
- Written authorization and rules of engagement
- Product/version/build hashes
- Platform and device inventory
- Domains, APIs, dashboard, and excluded assets
- Test accounts and data-handling rules
- Start and cut-off times
2. Baseline and attack-surface mapping
Map the connection lifecycle and trust boundaries so tests exercise the real data paths rather than only visible interface states.
- Authentication and token flow
- VPN startup and configuration flow
- API endpoints and request parameters
- Local storage and diagnostic paths
- Routing, DNS, tunnel adapter, and reconnection behavior
- Privileged operations and platform permissions
3. Connection lifecycle and safe failure
Verify that displayed connection state matches the operating system’s actual route and that failures do not silently expose traffic.
- Connect, disconnect, reconnect, and server switch
- Loss of local connectivity
- Server-side interruption
- App restart and abnormal process termination
- Device sleep and wake
- Wi-Fi/mobile transition
- Automatic recovery without stale routes
4. DNS, IP, IPv6, WebRTC, and route leakage
Observe public addresses, resolvers, ICE candidates, interfaces, and route tables before, during, and after tunnel transitions.
- IPv4 source-address exposure
- IPv6 bypass or fallback
- DNS resolver leakage
- WebRTC candidate exposure
- Local-network information exposure
- Prolonged unprotected traffic after interruption
- Split-tunnel boundary enforcement
5. Account, session, and authorization controls
Attempt to cross authentication and tenant boundaries using realistic invalid and adversarial requests.
- Unauthenticated endpoint access
- Invalid and expired tokens
- Token invalidation after sign-out
- Parameter and object-identifier modification
- Cross-account subscription/data access
- Session state across devices
- Dashboard authorization
6. Internal connection and configuration protection
Probe the APIs that provide server, route, certificate, credential, or internal connection material without publishing sensitive data.
- Requests from non-standard clients
- Missing, malformed, replayed, and expired authorization
- High-frequency and automated probing
- Request signing and freshness controls where used
- Rate limiting and anomaly blocking
- Isolation of internal configuration from public endpoints
7. Local data and production-build hygiene
Inspect what the client leaves on the device and what its production diagnostics disclose.
- Credential and token storage
- Operating-system secure storage use
- Logs, crash reports, and temporary files
- Sensitive configuration remnants
- Debug endpoints and verbose production logs
- Unnecessary network-activity or account data
8. Cross-platform consistency
Compare controls across clients because one weaker platform can create the practical bypass for an otherwise sound design.
- Equivalent leak protection
- Equivalent session invalidation
- Equivalent safe-failure behavior
- Platform-specific permissions
- Version drift and missing controls
- Dashboard/client policy consistency
9. Finding validation and severity
Reproduce suspected issues, remove environmental false positives, document prerequisites, and grade impact before reporting.
- Independent reproduction
- Minimal proof of concept
- Affected versions and platforms
- Exploit prerequisites
- User and infrastructure impact
- Evidence preservation without exposing secrets
10. Remediation and regression retest
A finding is closed only after the fixed build is identified, the original issue no longer reproduces, and adjacent controls still behave correctly.
- Fix and build identity
- Original proof rerun
- Negative and boundary cases
- Cross-platform regression
- New attack surface check
- Closed, partially fixed, accepted, or unresolved status
Severity model
Severity combines impact, exploitability, prerequisites, affected scope, and remediation urgency.
- Critical
- Large-scale sensitive-data exposure, remote code execution, core-system control, complete authentication bypass, or broad VPN traffic exposure.
- High
- Account takeover, important private-data exposure, unauthorized protected access, traffic bypass, or failure of a core security control.
- Medium
- Material impact requiring specific conditions or affecting a limited platform, feature, dataset, network, or device environment.
- Low
- Limited direct impact that weakens defense in depth or exposes non-core technical information.
- Informational
- No directly exploitable vulnerability, but a concrete security-engineering or hardening improvement.
How a 100-point audit score is calculated
The report must publish the scored checklist and item weights. Each item begins with its assigned points; a reproducible unresolved finding removes the points attached to the affected control according to the report’s declared rule.
A remediated issue earns its points only after a documented retest passes. Untested, blocked, or out-of-scope items cannot silently receive full credit; they must be excluded from the denominator or shown separately.
A result of 100/100 therefore means all scored in-scope items passed in the tested build. It is not a lifetime guarantee, a claim of zero possible vulnerabilities, or an overall provider score.
Evidence and reproducibility requirements
- Test-case identifier, owner, date, platform, device, OS, application version, and environment
- Expected result, actual result, reproducibility status, and severity rationale
- Sanitized screenshots, packet/route observations, request traces, logs, or hashes where safe to publish
- Build matrix, scoring worksheet, change log, remediation record, and reviewer sign-off
- Separation between public evidence, redacted security evidence, and confidential material
- Content hash or immutable archive for public artifacts so later edits are detectable
Mandatory limitations
- Testing samples behavior; it cannot prove the absence of every vulnerability.
- Results do not automatically transfer to later versions, untested platforms, different backends, networks, accounts, or configurations.
- Black-box and grey-box testing cannot verify source-code paths or server operations that were not made available.
- No-logs claims require operational or infrastructure evidence; client leak testing alone cannot prove them.
- Unavailable signed reports, worksheets, build matrices, or raw evidence reduce independent reproducibility and must be disclosed.
Reproducible VPN leak-test protocols
The versioned kill-switch, DNS, WebRTC, and IPv6 specifications define the test matrix, evidence requirements, pass conditions, limitations, and blank raw-data format. Protocol pages are not results: no provider receives a pass until completed evidence and reviewer records are published.
Read the protocols and download blank result templates2 · Пробел в нашем исследовании никогда не снижает оценку
Если у нас нет доказательств по измерению, это измерение исключается из взвешенного среднего, а не оценивается как ноль. Наказание провайдера за дыру в нашем исследовании втихую вознаграждало бы тех провайдеров, которых мы исследовали меньше всего, а это именно тот сбой, которого вся модель призвана избежать.
Цена этого правила в том, что оценки не сравнимы автоматически, и мы платим её открыто. Каждое измерение несёт долю покрытия, по скольким из его правил были доказательства для оценки, и каждая оценка несёт вес оценённого: 8.4, оценённая по 72% методологии, означает, что по 28% не было данных, и страница сообщает об этом рядом с числом. Измерение вообще без фактов получает не 0 и не 10, а ничего, и выпадает.
3 · Откуда взялось число, путешествует вместе с числом
Мы не запускаем глобальную матрицу скоростей или набор тестов на разблокировку стриминга. Печатать собственное значение пропускной способности провайдера тем же шрифтом, что и политику конфиденциальности, которую мы прочитали построчно, значило бы стереть именно то различие, которое важно, поэтому каждая оценка помечена тем, как она получена. Есть четыре вида:
- Измерено
- Мы получили это число сами и можем его воспроизвести.
- Задокументировано
- Считано из первоисточника: политики конфиденциальности, отчёта об аудите или исходного кода.
- Заявлено провайдером
- Утверждается провайдером. Мы не проверяли это независимо, и оценка соответственно ограничена.
- Нет доказательств
- Мы не нашли ничего, что можно было бы оценить. Это измерение исключается из взвешенного среднего, а не засчитывается как ноль.
Происхождение также задаёт потолок. Поскольку мы ссылаемся на чужие тесты скорости, а не проводим свои, скорость ограничена сверху значением 8.5. Поскольку заявление о стриминге, это маркетинговая страница, а не проведённый нами тест, стриминг ограничен сверху значением 6.5. Число, право сертифицировать которое мы не заслужили, не может достичь верха нашей шкалы, и ограничение показывается, а не скрывается.
4 · Одиннадцать измерений и как они взвешиваются
Провайдер оценивается по одиннадцати измерениям. Взвешивание по умолчанию отдаёт наибольший вес тому, что мы можем проверить независимо, и наименьший, тому, что мы можем лишь считать со страницы провайдера. Скорость и стриминг, оба здесь территория провайдера, несут примерно половину того веса, который им даёт отраслевой стандарт; этот вес переходит к конфиденциальности, прозрачности и подлинности серверов.
| Измерение | Способ получения | Потолок | По умолчанию | Паритет с Top10VPN |
|---|---|---|---|---|
Конфиденциальность Политика логирования, юрисдикция, владение, считано из политик и документов. | Задокументировано | 10 | 24% | 20% |
Безопасность Протоколы, аварийное отключение (kill switch), выбор шифров, считано из документации и исходного кода. | Задокументировано | 10 | 18% | 15% |
Прозрачность Опубликованные аудиты, warrant canary, клиенты с открытым исходным кодом. | Задокументировано | 10 | 12% | , |
Подлинность серверов Триангуляция задержек из нашей собственной сети зондов, набор данных, который будет нашим. | Измерено | 10 | 10% | , |
Расположение серверов Количества, это заявление провайдера; подлинность серверов, это то, что их проверяет. | Заявлено провайдером | 10 | 7% | 10% |
Стриминг Маркетинговая страница, перечисляющая все сервисы на свете. Мы не проводим тестов на разблокировку. | Заявлено провайдером | ≤ 6.5 | 7% | 15% |
Скорость Сторонние измерения. Мы их не проводили, поэтому они не могут возглавить шкалу. | Задокументировано | ≤ 8.5 | 7% | 15% |
Совместимость с устройствами Платформы и страницы приложений, считано напрямую. | Задокументировано | 10 | 5% | 5% |
Удобство использования Настройка и интерфейс, считано из документации и страниц в магазинах. | Задокументировано | 10 | 4% | 10% |
Торренты Проброс портов, поведение аварийного отключения (kill switch), политика P2P, из документации. | Задокументировано | 10 | 3% | 5% |
Дополнительные функции Раздельное туннелирование, многоузловое подключение, блокировка рекламы, есть или нет, согласно документации. | Задокументировано | 10 | 3% | 5% |
Столбец «Способ получения» называет характерный источник каждого измерения согласно методу, а не его происхождение в сегодняшнем непроверенном корпусе. Подлинность серверов, скорость и удобство использования, это измерения, которые мы намерены измерять или считывать сами, но текущий корпус пока не содержит доказательств по ним, поэтому сегодня они не имеют оценки, согласно правилу 2.
Столбец «Паритет с Top10VPN» воспроизводит опубликованное взвешивание конкурента на наших доказательствах. Он обнуляет прозрачность и подлинность серверов, в той методологии нет эквивалентной категории, и он включён намеренно: он позволяет отделить «данные не согласны» от «методология не согласна». Если вы подозреваете, что мы подстроили веса под нужный вывод, посчитайте по их весам и посмотрите, что изменится.
Те же доказательства также публикуются при трёх взвешиваниях под сценарии использования. Это не дорвеи: те же данные, другой вопрос.
- Default (evidence-weighted)
- Weights are allocated toward what this site independently verifies. Speed and streaming are vendor-claimed rather than measured here, so they carry roughly half the weight the industry standard assigns them; that weight moves to privacy, transparency and server authenticity, all of which are checked against primary documents or our own probe network.
- Top10VPN parity
- Reproduces the published Top10VPN category weighting (privacy 20%, streaming 15%, speed 15%, security 15%, server locations 10%, user experience 10%, torrenting 5%, device compatibility 5%, additional features 5%). Transparency and server authenticity are zeroed because that methodology has no equivalent category. Published so readers can see exactly how much of a ranking is the data and how much is the weighting.
- Privacy first
- For readers whose threat model is surveillance rather than geo-blocking. Logging policy, jurisdiction, published audits and open-source clients dominate; streaming access is worth nothing.
- Streaming
- For readers unblocking geo-restricted catalogues. Note the honesty cost: this site does not run its own unblock suite, so the streaming dimension is capped at a vendor-claimed ceiling and this ranking is the least independently grounded one we publish.
- Torrenting
- For P2P users. Weighted toward what actually exposes a seeder: the logging policy, a kill switch that fails closed, and whether port forwarding exists at all. Mirrors Top10VPN's observation that torrenting quality is mostly a function of the privacy and security categories.
Одно намеренное расхождение с Top10VPN: их оценка за торренты складывает их собственные оценки конфиденциальности и безопасности обратно в это измерение. Наша, нет: взвешивание для торрентов уже присваивает конфиденциальности и безопасности их собственный вес верхнего уровня, а включение их во второй раз считало бы одни и те же доказательства дважды.
5 · Три способа комбинирования правил измерения
Нельзя проверить число, не зная арифметики за ним, поэтому то, какая из трёх моделей сформировала измерение, публикуется рядом с ним.
| Модель | Как комбинируются правила | Используется |
|---|---|---|
| Абсолютная | Начинается с базы, к которой добавляются знаковые вычеты или начисления. База 10 для измерений с вычетами, база 0 там, где баллы накапливаются. | Безопасность, подлинность серверов, скорость, стриминг, удобство использования |
| Нормализованная | Заработанные баллы, делённые на доступные баллы, но только по тем правилам, по которым были доказательства. Это то отношение, которое правило 2 втихую завышает, см. ограничение ниже. | Прозрачность, расположение серверов, совместимость с устройствами, торренты, дополнительные функции |
| Составная | Взвешенное среднее именованных подоценок, каждая из которых сама абсолютная или нормализованная, по тем частям, которые были оценены. | Конфиденциальность |
Оценка никогда не бывает голым числом в наших данных: она несёт свою модель, свой потолок и каждое сработавшее правило с его знаковым вкладом и идентификаторами доказательств за ним. Отдельная, независимая реализация восстанавливает каждую итоговую оценку только из того, что показывает страница обзора; если разбивка когда-либо неполна, эта проверка проваливает сборку. Это значит, что вы можете не согласиться с конкретным вычетом, а не с общим впечатлением.
6 · Конфиденциальность составная, и её нельзя выкупить обратно
Конфиденциальность, единственное составное измерение, разделённое на пять подоценок: какие данные логируются (60%), история инцидентов (20%), юрисдикция (10%), надёжность (5%) и функции повышения конфиденциальности (5%). Ограничение начислений этими небольшими частями сделано намеренно. При плоской модели начисление за приём наличных могло бы отменить вычет за хранение записей о платежах, а зажим на 10 скрыл бы остальное, провайдер, который логирует, и провайдер, который нет, могли бы напечатать одну и ту же идеальную оценку.
Взвешенное среднее всё же компенсаторно, а конфиденциальность, это свойство безопасности, поэтому измерение ограничено своей подоценкой логирования плюс 1.5. Никакое сочетание благоприятной юрисдикции, прозрачного владения и вариантов оплаты не может поднять оценку конфиденциальности более чем на 1.5 балла выше того, что зарабатывает одна лишь политика логирования. Провайдер, бессрочно хранящий историю просмотров, не может откупиться от этого адресом в Panama.
7 · Опубликованное число, это интервал, зажатый
Перенормировка оценки по измерениям, которые нам довелось измерить, это защитимая оценка, но не граница, а обзорные сайты старого образца публиковали эту оценку так, будто это граница. Поэтому каждая оценка несёт три числа, а не одно.
То, что провайдер заработал безоговорочно, считая всё неизмеренное нулём. Она может только падать при удалении доказательств, именно поэтому по ней безопасно ранжировать.
Опубликованное значение: перенормированное среднее, удерживаемое так, чтобы никогда не превышать потенциал. Когда эти два значения расходятся, страница сообщает вам, что перенормировка завысила оценку провайдера, и на сколько.
Максимум, которого он мог бы достичь, если бы каждое неизмеренное измерение достигло своего потолка, так неизмеренный стриминг засчитывается по 6.5, а не по 10. Гарантированный максимум, а не догадка.
Изображённая в масштабе, полоса, это честная ширина того, чего мы пока не знаем. Вот Proton VPN при взвешивании по умолчанию:
доказуемо между 6.88 и 8.88
Затенённая полоса идёт от нижней границы → к потенциалу; засечка, это итоговая оценка. Зажим не косметический: при взвешивании для стриминга провайдер, по стримингу которого у нас нет доказательств, перенормировался до 9.9 против доказуемого максимума 8.45. Итоговая оценка удерживает его на максимуме вместо того, чтобы напечатать число, которого не мог бы достичь ни один провайдер.
8 · Ранжирование по доминированию, а не по итоговой оценке
Единственный порядок, который позволяют доказательства, таков: A стоит выше B, когда гарантированный минимум A превышает наилучший возможный максимум B по всему, что мы не измеряли, floor(A) > potential(B). Это строгий частичный порядок, и, что критически важно, его нельзя сдвинуть тем порядком, в котором нам довелось исследовать провайдеров. Перенормированное среднее не могло бы этого утверждать.
На сегодняшнем корпусе из пяти провайдеров отношение доминирования пусто. Наивысшая нижняя граница, Proton VPN на уровне 6.88, находится намного ниже наименьшего потенциала, SingLink VPN на уровне 7.55, поэтому ни один провайдер не превосходит другого. Это одна честная ничья на пятерых, и сайт так и говорит, а не фабрикует «1-2-3». По мере накопления наших собственных измерений появятся реальные разделения.
Нет никакого разрешения ничьих. Более ранняя версия упорядочивала ничьи по тому, насколько мы исследовали каждого провайдера; она удалена, потому что это продвигало провайдеров, о которых мы знали меньше всего.
9 · Что это не исправляет, прямо сказано
Доминирование не защищено от утаивания, и мы не будем утверждать, что защищено. Удаление доказательств целого измерения понижает нижнюю границу утаивающего и никогда не может принести ему ранг. Но удаление одной ссылки внутри нормализованного измерения может повысить значение этого измерения, потому что делитель считает только те правила, по которым были доказательства. Это инвариант 2, применённый к отношению: «отсутствующие данные никогда не снижают оценку» становится «отсутствующие данные повышают отношение» в тот момент, когда знаменатель уменьшается вместе с ними.
Это реально в текущем корпусе, а не гипотетика. Один провайдер получает идеальную 10 за дополнительные функции при 33% покрытия: мы нашли три функции, которые у него есть, а его сайт возвращает ошибку нашему загрузчику для страниц, которые показали бы те, которых у него нет. Отсутствующая страница купила идеальную оценку.
Чтобы это закрыть, схема должна отличать «мы посмотрели, и провайдер не раскрывает», оценённый негатив со ссылкой на страницу, которая об этом умалчивает, от «мы не смотрели», что является нашим пробелом. До тех пор интервал и правило доминирования закрывают канал перенормировки; они оставляют открытым канал ссылок. Ворота полноты закрывают его только при публикации: провайдер публикуем только тогда, когда у его оценённых измерений нет неоценённых пробелов, поэтому удаление ссылки ради завышения оценки заново открывает пробел и блокирует страницу. Это ворота на то, что мы публикуем, а не свойство арифметики, и мы предпочтём сказать об этом, чем переоценить гарантию.
Проверьте нашу арифметику
Всё вышеизложенное работает на одном артефакте. Тот же корпус, который формирует эти страницы, предлагается для скачивания, поэтому вы можете заново вывести любую итоговую оценку, посчитать её при другом взвешивании или найти точную ссылку за любым вычетом.
Мы не получаем партнёрских комиссий, не продаём рекламу и не имеем коммерческих отношений ни с одним VPN-провайдером.