Every finding ships a runnable exploit.К каждой находке — рабочий эксплойт.
APEX proves each vulnerability with a working PoC and each fix with a passing regression test. Human-reviewed PRs, never auto-merged.APEX доказывает уязвимость рабочим PoC, а исправление — проходящим регресс-тестом. PR проверяет человек, авто-мерджа нет.
Your scanner got 52% louder. Your team didn't get bigger.Сканер стал шуметь на 52% громче. Команда больше не стала.
AI assistants ship code 3x faster. Legacy SAST answers with noise nobody can triage, fixes nobody trusts, and vulnerabilities nobody caught.ИИ-ассистенты пишут код втрое быстрее. Старый SAST отвечает шумом, который некому разгребать, фиксами, которым никто не верит, и дырами, которые никто не поймал.
You mandated AI coding assistants and shipping accelerated. So did the vulnerability count. Now one outnumbered AppSec lead drowns in scanner alerts that are mostly wrong, drops the real ones in the flood, and can't trust an AI fix without re-reviewing it line by line. Finding things was never the problem. Proving what's real, and that a fix holds, is.Вы обязали команду писать код с ИИ-ассистентами, и релизы ускорились. Вместе с ними — счётчик уязвимостей. Теперь один AppSec-лид тонет в алертах, которые в основном ложные, теряет настоящие в этом потоке и не может довериться ИИ-фиксу, не перепроверив его построчно. Находить проблемы никогда и не было проблемой. Доказать, что находка реальна и что фикс держится, — вот она.
- False-positive fatigue: independent scans put traditional SAST noise around 91%, and 56% of warnings are never fixed. Chasing 700 false alarms per 1,000 findings burns roughly 58 developer-hours a sprint.Усталость от ложных срабатываний: независимые прогоны дают у классического SAST около 91% шума, а 56% предупреждений не чинят никогда. На 700 ложных тревог из каждой 1000 находок уходит примерно 58 человеко-часов за спринт.
- Untrusted AI fixes: 52% of security leaders won't let AI act autonomously, and 66% say more than half of findings need manual reproduction before anyone can act. A fix you have to re-verify isn't a fix.Недоверие к ИИ-фиксам: 52% руководителей ИБ не дают ИИ действовать автономно, а 66% говорят, что больше половины находок нужно вручную воспроизвести, прежде чем что-то делать. Фикс, который приходится перепроверять, — это не фикс.
- AI-code vulnerability surge: AI-generated code carries 2.74x more vulnerabilities and 45% of samples fail security tests, driving the average org to 865,398 alerts a year, up 52% year over year, of which only ~0.09% are truly critical.Всплеск уязвимостей в ИИ-коде: в коде от ИИ в 2,74 раза больше уязвимостей, 45% образцов не проходят тесты безопасности. Средняя компания получает 865 398 алертов в год (+52% за год), из которых по-настоящему критичны лишь ~0,09%.
Proof-carrying AppSecAppSec с доказательствами
Every finding ships a runnable exploit. Every fix ships a passing test that proves it holds.Каждая находка приходит с рабочим эксплойтом. Каждый фикс — с проходящим тестом, который доказывает, что дыра закрыта.
APEX doesn't flag maybes. It detects the flaw, writes a runnable PoC to prove it's exploitable, generates the fix, and ships a regression test that proves the fix holds. Graph-taint reachability downgrades findings whose taint never reaches a sink, so the noise that buries your team never lands. The result arrives as a human-reviewed pull request. Never an auto-merge. You approve every change.APEX не помечает «возможно уязвимо». Он находит дефект, пишет рабочий PoC-эксплойт как доказательство, генерирует фикс и прикладывает регрессионный тест, подтверждающий, что дыра закрыта. Граф-анализ taint снижает приоритет находок, чей поток не доходит до sink, — шум, в котором тонет команда, до вас не долетает. Результат приходит pull-request'ом на ревью человеку. Никакого авто-мёрджа. Каждое изменение утверждаете вы.
How it worksКак это работает
Four steps from a flagged line to a fix that proves it holds. Every finding ships a runnable PoC. Every fix ships a passing regression test. Nothing merges without a human.Четыре шага от помеченной строки до фикса, который доказуемо держится. К каждой находке прилагается запускаемый PoC. К каждому фиксу — проходящий регрессионный тест. Ничего не мёржится без человека.
DetectОбнаружение
Hybrid graph-taint traces every source to its sink and downgrades severity the moment taint can't actually reach the sink, so reach-less noise never lands on your team.Гибридный graph-taint прослеживает путь от источника до стока и понижает критичность, как только становится ясно, что taint до стока не доходит, — недостижимый шум не долетает до команды.
ProveДоказательство
A Z3 concolic solver and fuzzer build a real reaching input, turning each finding into a runnable PoC instead of a theoretical flag.Concolic-движок на Z3 вместе с фаззером строят реальный входной вектор, доводящий до уязвимости: находка превращается в запускаемый PoC, а не в теоретический флаг.
FixИсправление
APEX opens a proof-carrying pull request: the patch, the reproducing PoC, and the reasoning, ready for a human reviewer. Never auto-merged.APEX открывает pull request с доказательством: патч, воспроизводящий PoC и обоснование — готовые для ревью человеком. Автомёржа нет.
VerifyПроверка
Before the PR is done, APEX runs a regression test that fails on the bug and passes on the fix, confirms nothing else regressed, and rescans to close the loop.Прежде чем закрыть PR, APEX прогоняет регрессионный тест, который падает на баге и проходит на фиксе, убеждается, что ничего больше не сломалось, и пересканирует код, замыкая цикл.
What APEX actually does differentlyЧем APEX реально отличается
Reachability-verified findingsНаходки с проверкой достижимости
every alert is proven to reach a real sink; when taint can't get there, APEX downgrades severity instead of shipping you noise.по каждому алерту доказано, что поток данных доходит до уязвимого места; если нет, APEX снижает критичность, а не заваливает вас шумом.
Compiler-grounded MC/DC coverageПокрытие MC/DC на уровне компилятора
reads real LLVM 18 and GCC 14.2 output to measure branch-condition coverage no horizontal SAST tool touches.читает реальный вывод LLVM 18 и GCC 14.2 и меряет покрытие ветвлений так, как не умеет ни один горизонтальный SAST.
Bundled supply-chain diffingВстроенная проверка цепочки поставок
flags dependency poisoning by tracking capability changes across package versions over time, alongside your first-party code scan.ловит отравление зависимостей, отслеживая изменение возможностей пакета между версиями во времени, прямо рядом со сканом вашего кода.
True polyglot executionНастоящая мультиязычность
runs tests and measures coverage across 11 languages, not pattern-matching from the outside.прогоняет тесты и считает покрытие на 11 языках, а не угадывает по шаблонам снаружи.
Proof you can rerun, not a number we made upДоказательства, которые можно перепроверить, а не цифра с потолка
APEX earns trust the only way a scanner should: on a public benchmark anyone can reproduce, on real CVEs that maintainers merged, and on your own repo in one command. No self-reported finding counts. Every claim below is witnessed by someone other than us.APEX завоёвывает доверие единственно честным для сканера способом: на публичном бенчмарке, который воспроизведёт любой, на реальных CVE, которые приняли мейнтейнеры, и на вашем репозитории одной командой. Никаких самопровозглашённых счётчиков находок. Каждое утверждение ниже подтверждает кто-то, кроме нас.
- Public, reproducible benchmark. We publish the harness, the corpus, and the exact command. Clone it, run it, get our numbers on your machine. If you can't reproduce it, it doesn't count.Публичный воспроизводимый бенчмарк. Мы выкладываем харнесс, корпус и точную команду. Клонируйте, запустите, получите наши цифры на своей машине. Если не воспроизводится — не считается.
- Real-CVE OSS disclosures with maintainer quotes. We report bugs to hardened open-source projects, each finding shipped as a runnable PoC and a passing regression test. The scoreboard is maintainer-merged fixes and their own words, not raw output we triaged ourselves.Раскрытия реальных CVE в OSS с цитатами мейнтейнеров. Мы репортим баги в закалённые open-source проекты, и каждая находка идёт с рабочим PoC и проходящим регресс-тестом. Табло — это принятые мейнтейнерами фиксы и их собственные слова, а не сырой вывод, который мы сами же и отсортировали.
- Run it on your repo, under a <20% false-positive guarantee. Point the free CLI at your codebase and get a signed evidence pack in minutes. If more than one finding in five is noise on your code, we're not ready for you yet.Запустите на своём репозитории — гарантия ложных срабатываний ниже 20%. Наведите бесплатный CLI на свой код и получите подписанный пакет доказательств за минуты. Если на вашем коде шумит больше одной находки из пяти — значит, мы к вам ещё не готовы.
Every finding ships a proof. Not every scanner does.К каждой находке прилагается доказательство. Так умеет не каждый сканер.
How APEX compares on the capabilities that actually cut triage time. We only list what's wired in the engine today. Verify each row on your own repo.Сравнение APEX по возможностям, которые реально сокращают время триажа. Указываем только то, что уже собрано в движке. Каждую строку можно проверить на своём репозитории.
| CapabilityВозможность | APEX | Semgrep | Snyk Code | CodeQL | ZeroPath | Endor |
|---|---|---|---|---|---|---|
| Runnable PoC per findingРабочий PoC на каждую находку | YesДа | NoНет | NoНет | NoНет | PartialЧастично | NoНет |
| Reachability-confirmed (severity downgraded when taint can't reach the sink)Подтверждённая достижимость (severity понижается, если taint не доходит до sink) | YesДа | PartialЧастично | PartialЧастично | PartialЧастично | YesДа | YesДа |
| Compiler-grounded MC/DC & CACC coverage (LLVM/GCC)MC/DC- и CACC-покрытие на уровне компилятора (LLVM/GCC) | YesДа | NoНет | NoНет | NoНет | NoНет | NoНет |
| Proof-carrying fix with passing regression testФикс с доказательством — проходящим регрессионным тестом | YesДа | NoНет | NoНет | NoНет | PartialЧастично | NoНет |
| Supply-chain dependency-poisoning via temporal capability-diff, bundled with SASTДиверсия в зависимостях: временной diff возможностей, вместе с SAST | YesДа | NoНет | PartialЧастично | NoНет | NoНет | PartialЧастично |
| Polyglot test-execution + coverage (11 languages)Мультиязычный прогон тестов + покрытие (11 языков) | YesДа | NoНет | NoНет | PartialЧастично | PartialЧастично | NoНет |
| Self-host / air-gap deploymentSelf-host / air-gap развёртывание | YesДа | YesДа | NoНет | YesДа | YesДа | NoНет |
Detection tells you where. APEX proves the fix.Сканер говорит где. APEX доказывает, что починка держится.
Every finding ships a runnable exploit. Every fix ships a passing regression test that proves it holds.К каждой находке — воспроизводимый эксплойт. К каждому исправлению — проходящий регресс-тест, который доказывает, что дыра закрыта.
Scanners hand you a list and a severity guess. APEX hands you evidence. Its graph-taint engine drops severity when a flaw can't reach a sink, so reach-less noise never lands on your queue. What survives arrives as a runnable PoC plus a regression test, inside a human-reviewed PR. Never auto-merged.Сканеры выдают список и догадку о критичности. APEX выдаёт доказательства. Его граф-taint движок снижает критичность, когда уязвимость не доходит до опасной точки, — недостижимый шум не попадает в вашу очередь. То, что остаётся, приходит воспроизводимым PoC плюс регресс-тестом, внутри PR с ревью человеком. Без авто-мержа.
- Reachability, proven: taint that can't hit a sink is downgraded, not flagged. The noise most scanners bury you in never reaches a developer.Достижимость доказана: taint, не доходящий до sink, понижается в критичности, а не помечается. Шум, которым вас заваливают другие, до разработчика не доходит.
- Runnable proof, not model opinion: each finding carries an executable PoC and each fix a passing regression test. Reproduce it, don't trust it.Запускаемое доказательство, а не мнение модели: у каждой находки — исполняемый PoC, у каждого фикса — проходящий регресс-тест. Воспроизведите, а не верьте на слово.
- Compiler-grounded coverage no horizontal SAST offers: MC/DC and CACC parsed straight from LLVM 18 and GCC 14.2, bundled with supply-chain capability-diffing.Покрытие на уровне компилятора, которого нет ни у одного горизонтального SAST: MC/DC и CACC читаются напрямую из LLVM 18 и GCC 14.2, в связке с diff'ингом возможностей зависимостей по цепочке поставок.
Built for the teams drowning in scanner noiseДля команд, которые тонут в шуме сканеров
Your AI assistants ship 3x more code. Your scanner ships noise 52% faster. APEX targets the three teams feeling that gap first.ИИ-ассистенты пишут в 3 раза больше кода. Сканер выдаёт шум на 52% быстрее. APEX бьёт по трём командам, которые чувствуют этот разрыв первыми.
AI-code-heavy SaaS eng orgsSaaS-команды с массой ИИ-кода
You mandated AI coding assistants and now review vulnerabilities in code no one wrote by hand. APEX attaches a runnable PoC to every finding and a passing regression test to every fix, so engineers act on proof in the PR instead of arguing about theoretical flags.Вы внедрили ИИ-ассистентов и теперь разбираете уязвимости в коде, который никто не писал руками. APEX прикладывает к каждой находке рабочий PoC, а к каждому фиксу — проходящий регрессионный тест, поэтому инженеры работают с доказательством прямо в PR, а не спорят о теоретических флагах.
AppSec / product-security leads drowning in false positivesЛиды AppSec и продуктовой безопасности, утонувшие в ложных срабатываниях
Outnumbered ~1 to 100 and buried under alerts that are mostly non-actionable. APEX's graph-taint engine downgrades severity when taint never reaches the sink, cutting the reach-less findings that make up most of the noise, so your triage time goes to bugs that are actually exploitable.Вас примерно один на сотню разработчиков, и вы завалены алертами, по которым в основном нечего делать. Движок graph-taint в APEX снижает критичность, когда данные не доходят до опасной точки, и отсекает недостижимые находки — основную массу шума, так что время триажа уходит на реально эксплуатируемые баги.
Platform / DevEx teams gating CIPlatform / DevEx-команды, которые ставят гейты в CI
You need a PR check developers trust enough to make blocking. APEX lands as an advisory check carrying reproducible evidence and earns its gate on low false positives, with human-reviewed PRs and never auto-merge, so the pipeline stops training people to bypass it.Вам нужна проверка в PR, которой разработчики доверяют настолько, чтобы сделать её блокирующей. APEX заходит как рекомендательная проверка с воспроизводимыми доказательствами и зарабатывает право на гейт низким уровнем ложных срабатываний: PR проверяет человек, авто-мёржа нет, и пайплайн перестаёт приучать людей его обходить.
Pay for the org plane, not the engineПлатите за уровень организации, а не за движок
The full engine, every detector, and SARIF output stay open on a single repo. You pay when you need supply-chain evidence, compliance packs, and controls across your org.Полный движок, все детекторы и вывод в SARIF бесплатны на одном репозитории. Платите, когда нужны доказательства цепочки поставок, комплаенс-пакеты и контроль на уровне всей компании.
- Full Rust engine plus all 60 detectorsПолный движок на Rust и все 60 детекторов
- Graph-taint reachability: severity drops when taint never reaches the sinkGraph-taint достижимость: severity падает, если taint не доходит до sink
- Runnable PoC attached to every findingРабочий PoC приложен к каждой находке
- Passing regression test attached to every fixПроходящий регресс-тест приложен к каждому фиксу
- Spec-compliant SARIF with security-severitySARIF по спецификации, с security-severity
- 11-language test execution and coverageПрогон тестов и покрытие на 11 языках
- Single-repo CLI, code never leaves your machineCLI на один репозиторий, код не покидает машину
- No account, no telemetry, no call-homeБез аккаунта, без телеметрии, без call-home
- Everything in Open, across all your reposВсё из Open, по всем вашим репозиториям
- Per-PR comments with PoC and regression proof, human-reviewed, never auto-mergedКомментарии в PR с PoC и доказательством регресса; проверяет человек, автомерджа нет
- Bundled supply-chain diffing on first-party code and dependenciesВстроенный diff цепочки поставок: свой код и зависимости
- Advisory-first gates that earn blocking status as false positives stay lowСначала advisory-гейты, блокирующими становятся по мере низкого FP
- Shareable evidence packs: SARIF, PoC, CI gate-logПакеты доказательств для передачи: SARIF, PoC, лог CI-гейта
- Dashboards and triage across teamsДашборды и триаж между командами
- Priced per active committer, anchored at GitHub Advanced SecurityЦена за активного коммитера, якорь — GitHub Advanced Security
- Everything in TeamВсё из Team
- Supply-chain and dependency-poisoning evidence at org scaleДоказательства по цепочке поставок и диверсиям в масштабах организации
- Compliance evidence packs: SARIF, SBOM, PoC, CI gate-logКомплаенс-пакеты: SARIF, SBOM, PoC, лог CI-гейта
- SSO, SCIM, and RBACSSO, SCIM и RBAC
- Self-host and air-gap deploymentSelf-host и air-gap развёртывание
- BYO-LLM key when an LLM path is enabledСвой ключ LLM, когда включён LLM-путь
- Trust center: SOC 2, pre-answered questionnaires, no-telemetry DPATrust-center: SOC 2, заранее заполненные анкеты, DPA без телеметрии
Runs where your code already livesРаботает там, где уже живёт ваш код
CLI-first, self-hostable, SARIF-native. No new dashboard to babysit, no source code leaving your perimeter.Сначала CLI, self-host из коробки, нативный SARIF. Никакого нового дашборда и никакой отправки исходников за периметр.
- CLI: one command on any repo. Runs offline, code never leaves your machine.CLI: одна команда на любом репозитории. Работает офлайн, код не покидает машину.
- GitHub & GitLab: findings posted inline on the PR diff, where reviewers already are.GitHub и GitLab: находки прямо в диффе пул-реквеста, где ревьюер и так смотрит.
- CI: drop-in GitHub Actions step. Advisory by default, promote to a blocking gate once you trust the signal.CI: готовый шаг для GitHub Actions. По умолчанию советующий, блокирующим делаете сами, когда доверитесь сигналу.
- SARIF export into the GitHub Security tab, DefectDojo, or your IDE.Экспорт SARIF во вкладку Security на GitHub, в DefectDojo или в IDE.
- Self-host: single Rust binary. Air-gap and SSO/RBAC on the Enterprise tier.Self-host: один бинарник на Rust. Air-gap и SSO/RBAC на тарифе Enterprise.
Your code stays yoursВаш код остаётся у вас
Run APEX where your code already lives. The engine is open and auditable, self-hosting is a supported path, and nothing you scan is ever used to train a model.Запускайте APEX там, где уже живёт ваш код. Движок открыт и поддаётся аудиту, self-hosting — штатный сценарий, а то, что вы сканируете, никогда не идёт на обучение моделей.
- Self-hostable and air-gap ready: run APEX fully inside your perimeter. On the free CLI and self-hosted Enterprise tier, source never leaves your machines, so a single engineer can adopt it without a DPA or a vendor review.Self-hosting и работа в изолированном контуре: запускайте APEX целиком внутри своего периметра. В бесплатном CLI и в self-hosted-тарифе Enterprise исходники не покидают ваши машины — один инженер внедрит инструмент без DPA и без vendor-review.
- Never trained on your code: we don't use your source, findings, or telemetry to train any model. No silent "calls home," no data retained beyond the run.Мы не учимся на вашем коде: ни исходники, ни находки, ни телеметрия не идут на обучение моделей. Никаких скрытых обращений наружу, никаких данных, которые остаются после прогона.
- Open-core, auditable engine: the scanning engine and every detector are open source. Read the taint logic, verify how a finding was reached, fork it if you want. We monetize the org plane (supply-chain evidence, SSO/RBAC, air-gap), not the core.Открытое ядро, поддающееся аудиту: движок сканирования и все детекторы — open source. Читайте логику taint-анализа, проверяйте, как получена находка, форкайте под себя. Мы монетизируем корпоративный слой (доказательства по supply-chain, SSO/RBAC, изолированный контур), а не ядро.
- SOC 2 Type II on the roadmap: certification is in progress. Until it lands, our answer is architectural rather than a checkbox: self-host and keep code inside your walls, no trust required.SOC 2 Type II — в дорожной карте: сертификация в процессе. Пока её нет, наш ответ — архитектурный, а не галочка: разверните self-hosted и держите код в своих стенах, доверие не требуется.
Frequently asked questionsЧастые вопросы
Is APEX autonomous?APEX автономный?
No, and that's deliberate. APEX finds and verifies issues on its own, but it never merges anything. Every finding ships as a human-reviewed PR carrying a runnable proof-of-concept and a passing regression test. You stay the reviewer. Most security leads reject fully autonomous action on their codebase, and so do we.Нет, и это намеренно. APEX сам находит и проверяет проблемы, но ничего не мерджит. Каждая находка приходит как PR на ревью человеку, с рабочим PoC и проходящим регресс-тестом. Ревьюер — вы. Большинство security-лидов отвергают полностью автономные действия над своим кодом, и мы тоже.
What about false positives?Как насчёт ложных срабатываний?
That's the whole point of the engine. APEX uses hybrid graph-taint analysis: when a tainted input can't actually reach a dangerous sink, it downgrades the severity instead of alarming you. On top of that, each surviving finding carries a runnable exploit, so "is this real?" is answered by reproduction, not by a risk score you have to trust. If it can't be proven, it doesn't get promoted.В этом весь смысл движка. APEX использует гибридный graph-taint: если «грязный» ввод не может добраться до опасного места, severity понижается, а не тревожит вас. Сверх этого к каждой уцелевшей находке приложен рабочий эксплойт — «это реально?» отвечает воспроизведение, а не оценка уверенности. Что нельзя доказать — не поднимается.
Does my code leave my infrastructure?Мой код покидает мою инфраструктуру?
With the free CLI, no. The engine is a single Rust binary that scans locally; your source never leaves your machine. The Enterprise tier adds self-hosted and air-gapped deployment, SSO/RBAC, and supply-chain evidence for teams with a hard on-prem requirement. There is no mandatory phone-home to run a scan.С бесплатным CLI — нет. Движок — один бинарь на Rust, сканирует локально; исходники не покидают машину. Тариф Enterprise добавляет self-host и air-gap, SSO/RBAC и доказательства по цепочке поставок для команд с жёстким требованием on-prem. Обязательного phone-home для сканирования нет.
Which languages are supported?Какие языки поддерживаются?
APEX runs real test execution and coverage across 11 languages. Coverage analysis is compiler-grounded: it parses LLVM 18 and GCC 14.2 debug info to compute MC/DC and CACC coverage directly from the compiler, which no horizontal SAST tool does today. The security detectors (roughly 30 of 60 registered) span the common web and supply-chain classes.APEX реально прогоняет тесты и покрытие на 11 языках. Анализ покрытия — на уровне компилятора: он разбирает debug-инфо LLVM 18 и GCC 14.2, считая MC/DC и CACC прямо из компилятора — чего сегодня не делает ни один горизонтальный SAST. Детекторы безопасности (примерно 30 из 60) покрывают распространённые веб- и supply-chain-классы.
How is this different from Semgrep or CodeQL?Чем это отличается от Semgrep или CodeQL?
Two things. First, evidence: pattern and query engines flag a line and leave verification to you; APEX hands you a runnable PoC that reaches the sink plus a regression test that proves the fix holds. Second, it bundles first-party SAST with dependency-poisoning detection via temporal capability-diffing, so the same PR-level loop covers both your code and your dependencies. The engine and all detectors are free, like Semgrep OSS.Двумя вещами. Первое — доказательства: движки на шаблонах и запросах помечают строку и оставляют проверку вам; APEX даёт рабочий PoC, доходящий до sink, плюс регресс-тест, доказывающий, что фикс держится. Второе — он объединяет SAST по своему коду с детектом диверсий в зависимостях через временной diff возможностей, в одном инструменте и в одном PR-цикле.
Is APEX open source?Это open-source?
The engine, all detectors, and the rule set are free and open for single-repo use via the CLI, and they stay that way. We monetize only the org-plane in the paid Enterprise crate: supply-chain and compliance evidence, SSO/RBAC, and self-host/air-gap. We won't claw back what's open. The core scanning value belongs to developers.Ядро движка и все детекторы — открыты и одинаковы во всех тарифах; правила не запираем. Мы монетизируем организационный слой (командные дашборды, доказательства по цепочке поставок, SSO/RBAC, self-host, комплаенс), а не сам движок. Линию «открыто/платно» проводим один раз и не забираем назад — урок Semgrep→Opengrep усвоен.
Point APEX at your repo. See the proof.Наведите APEX на свой репозиторий. Смотрите на доказательства.
Free OSS CLI. Runs on one repo, code never leaves your machine, and every finding you get back ships a runnable PoC plus a regression test that proves the fix holds. No account, no sales call.Бесплатный OSS CLI. Работает на одном репозитории, код не покидает вашу машину, а к каждой находке прилагается рабочий PoC и регрессионный тест, который подтверждает, что фикс держится. Без регистрации и звонка менеджеру.
Go-to-MarketGo-to-Market
How APEX becomes a business — the motion, the sequenced plan, and the exact product work each blocker demands.Как APEX становится бизнесом — движение, план по шагам и конкретные доработки продукта под каждый блокер.
The motionДвижение
Hybrid "pincher" GTM: bottom-up product-led growth (free OSS/CLI, single-repo, code-never-leaves) that lands with a developer/security-champion, fused with top-down enterprise sales to the economic sponsor (CISO) and check-signer (Finance/procurement) at the free→Team→Enterprise boundary. ICP: US digital-native SaaS shops, 50-500 engineers, that mandated AI coding assistants and are now drowning in scanner noise (avg 865K alerts/org/yr, only ~0.09% critical). Buyer = the AppSec / product-security lead (outnumbered ~1:100-159 dev ratio) who needs a force-multiplier, not more alerts; the security champion (~1 per 8-12 devs) is the bottom-up adopter. The wedge is PROOF-CARRYING, HUMAN-REVIEWED findings: every finding ships a runnable PoC (proof of exploitability), every fix a passing regression test (merge-confidence signal), graph-taint severity DOWNGRADES when taint can't reach a sink (reachability = signal), and PRs are never auto-merged (52% of CISOs reject autonomous action). Target <10-15% effective false-positive rate, third-party-witnessed. Land advisory PR-comment; expand to CI gate. Anchor price against GitHub Advanced Security ($49/committer = $30 Code Security + $19 Secret Protection): Free OSS/CLI, Team $25-49/committer, Enterprise $99-149 (supply-chain + compliance evidence + SSO/RBAC + self-host/air-gap). Defer regulated verticals that require tool qualification (government/FedRAMP, automotive/ISO-26262, aerospace/DO-178C); lead with fintech then medtech, which buy on evidence quality, not accreditation.Гибридный «зажим»: снизу — product-led рост (бесплатный OSS/CLI, один репозиторий, код не покидает периметр), приземляется у разработчика/security-champion; сверху — enterprise-продажа экономическому спонсору (CISO) и подписанту (финансы/закупки) на границе Free→Team→Enterprise. ICP: US digital-native SaaS на 50-500 инженеров, которые обязали использовать ИИ-ассистентов и тонут в шуме сканеров (в среднем 865 тыс. алертов на организацию в год, критичных ~0,09%). Покупатель = лид AppSec/product-security (перегруз ~1:100), которому нужен множитель силы, а не новые алерты.
The 30 / 60 / 90 plan and beyondПлан 30 / 60 / 90 и далее
Days 0-30: Kill the counts, ship the proof, manufacture the flywheelДни 0-30: убить самоотчётные счётчики, выпустить доказательства, запустить маховик
- KILL the self-reported '12,656 findings / 77% FP' number everywhere — it reproduces the industry's core failure and becomes the story (RISK #1). Replace all marketing with third-party-witnessed, reproducible evidence.УБРАТЬ самоотчётное число «12 656 находок / 77% FP» отовсюду — оно воспроизводит ключевой провал индустрии и становится нарративом (РИСК №1). Заменить весь маркетинг на воспроизводимые, подтверждённые третьей стороной доказательства.
- Publish signed OSS/CLI binaries (single-repo, code-never-leaves) — today's blocker is no published binaries; bottom-up spread is impossible without a 2-minute, IC-installable, low-permission install.Опубликовать подписанные OSS/CLI-бинарники (один репозиторий, код не покидает периметр) — сейчас блокер в том, что бинарников нет; без 2-минутной установки без прав админа низовое распространение невозможно.
- Fix SARIF: emit spec-correct per-category SARIF WITH security-severity (table stakes after GitHub's July-2025 SARIF-run-combining sunset; without it, inline annotations + branch-protection gating don't work).Починить SARIF: выдавать корректный по спеке per-category SARIF С security-severity (обязательный минимум после отключения объединения SARIF-ранов в GitHub в июле 2025; без этого не работают inline-аннотации и branch-protection-гейты).
- Ship the hero surface = the PR comment: reachability-downgraded finding + attached runnable PoC, advisory (warning) mode only, never blocking, never auto-merge.Выпустить главную поверхность = PR-комментарий: находка с понижением по достижимости + прикреплённый исполняемый PoC, только совещательный режим, без блокировки, без авто-мёрджа.
- Stand up the 'we scan our own code' public dogfooding page (scan the 286K-LOC Rust codebase) as the trust artifact.Запустить публичную страницу «мы сканируем свой код» (скан 286К строк Rust) как артефакт доверия.
- Instrument PQLs on the RIGHT events — runnable-PoC-reproduced and regression-test-merged — not raw finding counts (Snyk's 'activation = teams fixing, not finding' lesson).Инструментировать PQL по ПРАВИЛЬНЫМ событиям — воспроизведённый PoC и вмёрдженный регресс-тест, а не сырые счётчики находок (урок Snyk: «активация = команды ЧИНЯТ, а не находят»).
- Start SOC 2 Type II now — it is the long pole (6-12mo observation window; ~66-70% of B2B deals require it before signing).Запустить SOC 2 Type II сейчас — это самый длинный этап (окно наблюдения 6-12 мес; ~66-70% B2B-сделок требуют его до подписания).
Days 31-60: Manufacture a Stenberg moment + recruit design partnersДни 31-60: организовать «момент Стенберга» + набрать design-партнёров
- Run APEX against 2-3 hardened OSS targets (curl-class) via a NAMED external researcher; submit ONLY PoC-backed, human-filtered findings through responsible disclosure; publish a case study linking each finding to its merged fix + passing regression test. Goal: a hostile-audience maintainer quote (the ZeroPath/curl 170-bug template).Прогнать APEX по 2-3 закалённым OSS-целям (уровня curl) через ИМЕНОВАННОГО внешнего исследователя; подавать ТОЛЬКО находки с PoC, отфильтрованные человеком, через ответственное раскрытие; опубликовать кейс, связывающий каждую находку с вмёрдженным фиксом + проходящим регресс-тестом. Цель — цитата мейнтейнера из враждебной аудитории (шаблон ZeroPath/curl 170 багов).
- Recruit 5-10 design partners by COLD outreach (a stranger's yes is a more honest signal), screened on ICP fit + urgency (already built workarounds) + a real end-user champion (not an enthusiastic CISO who won't use it).Набрать 5-10 design-партнёров ХОЛОДНЫМ аутричем («да» от незнакомца — более честный сигнал), отбирая по соответствию ICP + срочности (уже наделали костылей) + наличию реального конечного пользователя-чемпиона (не восторженного CISO, который не будет пользоваться).
- Sign a 3-month design-partner agreement: free during program, biweekly feedback, feedback-IP assignment, and a locked founder-tier price (Team $25/committer honored 12mo) as the conversion hook.Подписать 3-месячное соглашение с design-партнёром: бесплатно на время программы, фидбэк раз в две недели, передача IP на фидбэк, зафиксированная founder-цена (Team $25/коммиттер на 12 мес) как крючок конверсии.
- Publish a public benchmark centered on FALSE-POSITIVE rate + taint-reachability (not true-positives only) — the axis where the severity-downgrade architecture wins; model it on Semgrep's '96% researcher-agreement' framing.Опубликовать публичный бенчмарк на основе доли ЛОЖНЫХ СРАБАТЫВАНИЙ + достижимости taint (а не только true-positives) — ось, где выигрывает архитектура понижения серьёзности; по образцу «96% согласия исследователей» у Semgrep.
- Ship the downloadable 'security evidence pack' (SARIF + SBOM + concolic PoC + CI gate-log) — the artifact that survives security review and doubles as champion ammo.Выпустить скачиваемый «security evidence pack» (SARIF + SBOM + concolic PoC + CI gate-log) — артефакт, переживающий security review и одновременно боеприпас для чемпиона.
Days 61-90: Convert on a hard deadline + earn the CI gateДни 61-90: конверсия по жёсткому дедлайну + заслужить CI-гейт
- End the design-partner program on a HARD deadline with a binary ask: go paid or don't. Conversion — not enthusiasm — is the signal (Bessemer). Positive sentiment is not monetization.Завершить программу design-партнёров ЖЁСТКИМ дедлайном с бинарным вопросом: платите или нет. Сигнал — конверсия, а не энтузиазм (Bessemer). Позитивный настрой ≠ монетизация.
- Wire sales-assist at the free→Team boundary — do NOT expect self-upgrade (Snyk's 2016 mistake: users are not buyers).Подключить sales-assist на границе free→Team — НЕ рассчитывать на самостоятельный апгрейд (ошибка Snyk 2016: пользователи — не покупатели).
- Promote the PR check from advisory to BLOCKING only on high-confidence/high-severity findings on release/prod branches, with time-boxed exceptions + audit trail (severity-tiered gates; blocking everything trains devs to bypass).Повысить PR-проверку с совещательной до БЛОКИРУЮЩЕЙ только для высокоуверенных/высокосерьёзных находок на release/prod-ветках, с временными исключениями + аудит-трейлом (гейты по уровням серьёзности; блокировка всего учит разработчиков обходить их).
- Build the Trust Center: SOC 2 progress, ISO 27001 roadmap, pre-answered SIG/CAIQ + a CAIQ-AI / ISO 42001 module, training-data-exclusion + no-telemetry DPA — to compress vendor security review from ~3 weeks to ~5 days.Собрать Trust Center: прогресс SOC 2, дорожная карта ISO 27001, преднаполненные SIG/CAIQ + модуль CAIQ-AI / ISO 42001, DPA с исключением обучающих данных + без телеметрии — чтобы сжать security review вендора с ~3 недель до ~5 дней.
- Land the first 2-3 paying Team logos in fintech (PCI-DSS 6.3.1/6.3.2 + SOC 2 CC7.1/CC8.1 evidence) with a public FP-reduction ratio attested by the customer.Закрыть первые 2-3 платящих Team-логотипа в финтехе (доказательства PCI-DSS 6.3.1/6.3.2 + SOC 2 CC7.1/CC8.1) с публичным коэффициентом снижения FP, подтверждённым клиентом.
- List on GitHub Marketplace, anchored against GHAS $49/committer, on cost + noise (the two real GHAS churn wounds).Разместиться на GitHub Marketplace, якорясь к GHAS $49/коммиттер, на теме цены + шума (две реальные причины оттока от GHAS).
Beyond 90 days: Expand to Enterprise, then channels + marketplace burn-downПосле 90 дней: рост до Enterprise, затем каналы + сжигание облачных обязательств
- Gate Enterprise ($99-149) behind the CISO+Finance conversation: supply-chain temporal capability-diffing, compliance evidence, SSO/RBAC, self-host/air-gap, BYO-LLM-key — the org-plane an AppSec lead buys, never the engine.Закрыть Enterprise ($99-149) за разговором CISO+Finance: временной diff возможностей цепочки поставок, доказательства комплаенса, SSO/RBAC, self-host/air-gap, свой ключ LLM — организационный слой, который покупает AppSec-лид, но не движок.
- Protect the OSS flywheel: license engine AGPL-3.0 + commercial dual, keep ALL detectors/rules/SARIF export permissively open and NEVER claw back (the Semgrep→Opengrep fork lesson). Monetize only the apex-enterprise crate.Защитить OSS-маховик: лицензировать движок AGPL-3.0 + коммерческий dual, держать ВСЕ детекторы/правила/экспорт SARIF в разрешительной лицензии и НИКОГДА не отзывать (урок форка Semgrep→Opengrep). Монетизировать только крейт apex-enterprise.
- Second vertical wave: medtech (FDA premarket SBOM + SAST/DAST), riding EU CRA (vuln reporting bites 11 Sep 2026) supply-chain-diffing demand as a differentiated hook.Вторая вертикальная волна: medtech (FDA premarket SBOM + SAST/DAST), используя спрос на diff цепочки поставок от EU CRA (отчётность об уязвимостях с 11 сен 2026) как отличительный крючок.
- List on AWS/Azure Marketplace for committed-spend burn-down (needs an AWS-hosted SaaS SKU to retire EDP/MACC commitment); pursue AWS ISV Accelerate co-sell ONLY after 5+ launched / 15+ ACE opportunities exist — do not lead with it.Разместиться на AWS/Azure Marketplace для сжигания предоплаченных облачных обязательств (нужен AWS-hosted SaaS SKU, чтобы гасить EDP/MACC); идти в co-sell AWS ISV Accelerate ТОЛЬКО после 5+ запущенных / 15+ ACE-возможностей — не начинать с этого.
- Activate the MSSP/consultancy channel as layer two (~$1-2M ARR): give consultancies the free engine + NFR license; the evidence pack becomes their billable deliverable. OEM/white-label last, post-1.0.Активировать канал MSSP/консалтинга как второй слой (~$1-2M ARR): дать консалтингам бесплатный движок + NFR-лицензию; evidence pack становится их оплачиваемым артефактом. OEM/white-label — последним, после 1.0.
- Defer government/automotive/aerospace until qualification kits exist (DO-330/ISO-26262 TQL, FedRAMP); market ONLY wired capabilities — a false qual claim ends the deal.Отложить government/automotive/aerospace до появления quals-китов (DO-330/ISO-26262 TQL, FedRAMP); маркетировать ТОЛЬКО реально реализованные возможности — ложное заявление о квалификации убивает сделку.
What APEX must ship — gap → blocker → fixЧто APEX должен доработать — gap → блокер → фикс
| Prio | AreaОбласть | GapРазрыв | Sales blockerБлокер продаж | FixЧто сделать |
|---|---|---|---|---|
| P0 | Marketing / credibility | Product markets a self-reported '12,656 findings / 77% FP' count that is non-reproducible and un-witnessed.Продукт продвигает самоотчётное число «12 656 находок / 77% FP», которое невоспроизводимо и не подтверждено. | This becomes the story and reproduces the exact industry failure (self-reported counts) buyers distrust; ZeroPath/Endor/Socket/Wiz all win on witnessed ratios, never raw counts.Оно становится нарративом и воспроизводит именно тот провал индустрии (самоотчётные счётчики), которому покупатели не доверяют; ZeroPath/Endor/Socket/Wiz выигрывают на подтверждённых коэффициентах, а не на сырых счётчиках. | Kill the count everywhere; replace with a small set of third-party-witnessed, upstream-accepted disclosures, each carrying a runnable PoC + passing regression test.Убрать счётчик везде; заменить небольшим набором подтверждённых третьей стороной, принятых апстримом раскрытий, каждое с исполняемым PoC + проходящим регресс-тестом. |
| P0 | Distribution / packaging | No published, signed OSS/CLI binaries — the bottom-up entry point does not exist.Нет опубликованных подписанных OSS/CLI-бинарников — точки входа для низового распространения не существует. | The entire PLG flywheel (IC-installable in 2 minutes, code-never-leaves, single-repo aha in <5 min) is impossible without downloadable binaries; procurement is only bypassable via a real free local CLI.Весь PLG-маховик (установка за 2 минуты без прав, код не покидает периметр, «ага» на одном репозитории за <5 мин) невозможен без скачиваемых бинарников; обойти закупки можно только реальным бесплатным локальным CLI. | Publish signed single-binary (Rust) releases + a hosted Playground that returns a finding WITH its runnable PoC; scope a read-only token to preserve IC-level install.Опубликовать подписанные релизы одиночного бинарника (Rust) + хостируемый Playground, возвращающий находку ВМЕСТЕ с исполняемым PoC; ограничить токен только чтением, чтобы сохранить установку без прав. |
| P0 | Integration / SARIF | SARIF output is minimal — lacks spec-correct per-category emission with security-severity.Вывод SARIF минимален — нет корректной по спеке per-category выдачи с security-severity. | After GitHub's July-2025 SARIF-run-combining sunset, non-compliant uploads are REJECTED; without security-severity, GitHub inline annotations and branch-protection gating don't work. This is table stakes, not differentiation.После отключения объединения SARIF-ранов в GitHub (июль 2025) несоответствующие загрузки ОТКЛОНЯЮТСЯ; без security-severity не работают inline-аннотации GitHub и branch-protection-гейты. Это обязательный минимум, а не отличие. | Emit spec-compliant per-category SARIF with security-severity before GTM launch; validate against GitHub code-scanning ingestion.Выдавать соответствующий спеке per-category SARIF с security-severity до запуска GTM; проверить приём в GitHub code-scanning. |
| P0 | Product surface / DX | No PR-comment surface delivering reachability-downgraded findings + attached PoC in advisory mode.Нет поверхности PR-комментария, отдающей находки с понижением по достижимости + прикреплённым PoC в совещательном режиме. | The PR comment is the highest-tolerance, viral surface (every reviewer sees it); IDE is unforgiving of noise and CI-block-everything trains bypass. Without the PR loop, the wedge can't land or spread.PR-комментарий — самая толерантная и вирусная поверхность (его видит каждый ревьюер); IDE не прощает шума, а CI-блокировка всего учит обходу. Без PR-петли клин не заходит и не распространяется. | Ship a GitHub App that posts one high-confidence, reachability-downgraded finding per PR with the runnable PoC inline, warning-mode default, never auto-merge.Выпустить GitHub App, публикующий на PR один высокоуверенный, понижённый по достижимости результат с исполняемым PoC inline, режим предупреждения по умолчанию, без авто-мёрджа. |
| P1 | Trust / dogfooding | No public 'we scan our own code' evidence page.Нет публичной страницы-доказательства «мы сканируем свой код». | Buyers explicitly test vendor FP claims on their own code; reproducible self-scan is the conversion event and the antidote to the architecture-vs-deployed credibility gap (Endor, ZeroPath, Wiz all do this).Покупатели явно проверяют заявления о FP на своём коде; воспроизводимый самоскан — событие конверсии и противоядие от разрыва «архитектура против реального» (так делают Endor, ZeroPath, Wiz). | Publish a transparency page scanning the 286K-LOC Rust codebase with honest trade-off analysis and reproducible commands.Опубликовать страницу прозрачности со сканом 286К строк Rust, честным разбором компромиссов и воспроизводимыми командами. |
| P1 | Analytics / activation | Activation/PQL likely instrumented on finding counts rather than fix events.Активация/PQL, вероятно, инструментированы на счётчиках находок, а не на событиях исправления. | Snyk's hard-won lesson: activation = teams FIXING, not finding. Counting findings mismeasures the funnel and reinforces the killed count narrative; sales can't target the right accounts.Тяжёлый урок Snyk: активация = команды ЧИНЯТ, а не находят. Подсчёт находок искажает воронку и усиливает нарратив убитого счётчика; продажи не могут таргетировать нужные аккаунты. | Define PQL on runnable-PoC-reproduced and regression-test-merged events; bucket engagement by unique fixing-days/30d.Определить PQL по событиям «PoC воспроизведён» и «регресс-тест вмёрджен»; сегментировать вовлечённость по уникальным дням-исправлениям за 30 дней. |
| P1 | Compliance / procurement | No SOC 2 Type II, Trust Center, or pre-answered security questionnaires; no training-data-exclusion/no-telemetry DPA.Нет SOC 2 Type II, Trust Center, преднаполненных анкет безопасности; нет DPA с исключением обучающих данных / без телеметрии. | A source-code-touching AI vendor is auto-classified 'critical vendor' + hits the AI-governance module; ~66-70% of deals require SOC 2 before signing; reviews run 60-90 days. This blocks every paid deal above ~$50K.ИИ-вендор, работающий с исходным кодом, авто-классифицируется как «критический вендор» + попадает под модуль ИИ-governance; ~66-70% сделок требуют SOC 2 до подписания; ревью идут 60-90 дней. Это блокирует каждую платную сделку выше ~$50K. | Start SOC 2 Type II day 1 (long pole); build a Trust Center with pre-answered SIG/CAIQ + CAIQ-AI/ISO 42001 module + a no-telemetry, no-training-on-code DPA.Запустить SOC 2 Type II в день 1 (самый длинный этап); собрать Trust Center с преднаполненными SIG/CAIQ + модулем CAIQ-AI/ISO 42001 + DPA без телеметрии и без обучения на коде. |
| P1 | Deployment / Enterprise tier | Self-host/air-gap, SSO/RBAC, and BYO-LLM-key not packaged as a gated Enterprise crate.Self-host/air-gap, SSO/RBAC и свой ключ LLM не упакованы в закрытый Enterprise-крейт. | Code-sensitive and larger buyers gate on data-processing terms and self-host before features; without a clean Enterprise plane there is nothing to monetize above the free loop and no defensible open/paid boundary.Чувствительные к коду и крупные покупатели ставят барьер на условиях обработки данных и self-host до фич; без чистого Enterprise-слоя нечего монетизировать поверх бесплатной петли и нет защищаемой границы open/paid. | Package apex-enterprise (self-host/air-gap, SSO/RBAC, supply-chain temporal diffing, compliance evidence, BYO-LLM-key) as the only paid crate; keep engine+detectors+SARIF permissively open forever.Упаковать apex-enterprise (self-host/air-gap, SSO/RBAC, временной diff цепочки поставок, доказательства комплаенса, свой ключ LLM) как единственный платный крейт; держать движок+детекторы+SARIF в разрешительной лицензии навсегда. |
| P2 | Positioning / scope discipline | Risk of marketing unwired capabilities (autonomous test-gen stubbed; DO-178C/ISO-26262 compliance mappings zero).Риск маркетинга нереализованных возможностей (автономная генерация тестов — заглушка; маппинги DO-178C/ISO-26262 отсутствуют). | Regulated buyers verify claims in the security questionnaire; a false qual/compliance claim ends the deal. Marketing unwired features is the self-inflicted architecture-vs-deployed credibility gap.Регулируемые покупатели проверяют заявления в анкете безопасности; ложное заявление о квалификации/комплаенсе убивает сделку. Маркетинг нереализованных фич — самоинфлицированный разрыв «архитектура против реального». | Market ONLY wired capabilities (graph-taint downgrade, MC/DC coverage, 11-language test execution, supply-chain diffing); defer DO-178C/ISO-26262/FedRAMP framing until qual kits exist.Маркетировать ТОЛЬКО реализованное (понижение graph-taint, покрытие MC/DC, исполнение тестов на 11 языках, diff цепочки поставок); отложить формулировки DO-178C/ISO-26262/FedRAMP до появления quals-китов. |
| P2 | OSS licensing / moat | No defended open/paid license boundary; fork risk if the community layer is monetized.Нет защищённой границы open/paid; риск форка, если монетизировать общественный слой. | Semgrep→Opengrep shows that clawing back OSS features/rules triggers a rival consortium fork in weeks and hands competitors the engine.Semgrep→Opengrep показывает, что отзыв OSS-фич/правил вызывает форк консорциумом конкурентов за недели и отдаёт им движок. | Dual-license engine AGPL-3.0 + commercial; keep all detectors/rules/SARIF export permissively open and never claw back; monetize only the enterprise crate.Двойное лицензирование движка AGPL-3.0 + коммерческая; держать все детекторы/правила/экспорт SARIF в разрешительной лицензии и никогда не отзывать; монетизировать только enterprise-крейт. |
Metrics that matterМетрики
Two clocks: PLG time-to-first-trusted-finding under 5 minutes in the OSS CLI (one reachability-downgraded finding + runnable PoC on the user's own repo, first scan); trial aha inside 60-90 minutes. Instrument on FIX events (validated-fix-merged), not finding counts. Track free→Team conversion at the sales-assist boundary.Двое часов: в OSS CLI время до первой доверенной находки < 5 минут (одна находка с пониженным severity + рабочий PoC на своём репозитории, первый скан); «ага» в триале — в пределах 60-90 минут. Мерить события ФИКСОВ (validated-fix-merged), а не число находок. Следить за конверсией free→Team на границе sales-assist.
First customersПервые клиенты
5-10 cold-recruited design partners matching the ICP exactly (US digital-native SaaS, 50-500 eng, mandated AI assistants, drowning in noise). Buyer = AppSec/product-security lead; adopter = a security champion who will actually run it. Screen on representativeness, urgency, and a hard go-paid deadline.5-10 холодно набранных design-партнёров строго по ICP (US digital-native SaaS, 50-500 инженеров, обязали ИИ-ассистентов, тонут в шуме). Покупатель = лид AppSec/product-security; внедряет security-champion, который правда запустит. Отбор по репрезентативности, срочности и жёсткому дедлайну перехода в оплату.
Risk #1Риск №1
The self-reported '12,656 findings / 77% FP' count becomes the story and reproduces the industry's core failure. The aha-moment and the disqualifier are the same event: a finding that doesn't reproduce on the buyer's own repo. Kill self-counts; drive only on third-party-witnessed, reproducible evidence; market only wired capabilities.Самоотчётное «12 656 находок / 77% FP» становится главной историей и повторяет ключевой провал индустрии. «Ага»-момент и дисквалификатор — одно и то же событие: находка, которая не воспроизводится на репозитории покупателя. Убрать самоподсчёты; вести только на воспроизводимых доказательствах со свидетелями; продавать только реально работающие возможности.