Skip to main content

Vulkro for Salesforce vs DigitSec

Both cover code and the live org. One of them never sees your code.

DigitSec S4 is a dedicated Salesforce application security platform and the closest comparison on this site: it reviews Apex, Visualforce and Lightning, analyses dependencies, audits the org configuration, and tests a running org interactively. Vulkro for Salesforce covers code and org too, in a single binary that keeps both on the machine you started it on. The feature lists overlap, so the difference that decides most evaluations is architectural. No head-to-head measurement exists between the two, so this page publishes no comparative score.

  • No head-to-head score published
  • Both cover code and org
  • Runs on your machine
  • Air-gapped operation supported

01 / The short answer

Which one you want, in one screen

These two products are closer to each other than anything else compared on this site. Read both columns: the deciding factor is usually one line in one of them.

Choose DigitSec if

You want a platform, and the org can be connected to it

  • You want interactive testing against a running org as well as a static review. Vulkro executes nothing, so this is ground it does not cover.
  • You would rather have one vendor covering several kinds of testing than assemble the same coverage yourself.
  • Your security team needs a hosted dashboard with history and access it can grant centrally.
  • Cloud-hosted analysis of source and org metadata is acceptable under your data-handling policy.

Choose Vulkro for Salesforce if

The code and the org metadata cannot leave

  • A client agreement, an unreleased managed package or an air-gapped environment means nothing gets uploaded for analysis.
  • You want the AppExchange readiness verdict pinned to a checklist version, produced offline as one file you can hand over.
  • You want a deterministic verdict you can diff between two commits and gate a pipeline on.
  • You want the org connection to stay yours: the audit runs through your own Salesforce login, and the token never leaves that CLI.

Neither column is a criticism of the other product. Both cover code and org seriously, and a team can end up running both.

02 / The architectural difference

Same two surfaces, different place to stand

When two tools cover the same ground, the interesting question stops being what they check and becomes where the checking happens and who holds the keys.

DigitSec is a hosted platform. You connect your org and your repository, analysis runs on the vendor’s side, and the findings live in an account your team works out of. That model is why the platform can do things a local binary cannot: keep history without anyone re-running a scan, give a reviewer access without an install, and test an org while it is running.

Vulkro for Salesforce is one static binary. The engine, the rules, the report and the console all run on the machine you started them on. Source and metadata are read from disk and stay there. The live-org audit runs through the Salesforce CLI login your team already has, so the OAuth token stays between that CLI and Salesforce, and the org answers go straight back to your machine. Revoke the connection in Setup and the audit stops working, which is the correct relationship between an audit tool and an org.

One line does leave, and it is not about your code. The account layer checks entitlement on a debounced cadence and carries usage counters only. VULKRO_OFFLINE=1 closes that too, and an air-gapped machine runs on a signed licence file instead of signing in.

trust boundaryVULKRO_OFFLINE=1 closes it

Everything the review needs stays on the machine: the Apex and Lightning it reads, the metadata layer it joins them to, the findings and the readiness report it writes, and the optional local model it can consult without leaving the machine. The live-org audit is the one other call, and it goes from your machine to your own Salesforce org through your own CLI session.

Stays on this machine
apex, lwc, flow, org metadata, findings + reports, account layer, and the local model on 127.0.0.1
One crossing
The entitlement check: usage counters on a debounced cadence, no code, no findings, no org data.
Never crosses
Apex or Lightning source, org metadata, customer records, file paths or names, finding contents, your Salesforce session token
The review pipeline never touches the wire. The account layer is the only thing on it, and the org audit talks to your org rather than to us.

03 / Not measured

There is no head-to-head run, so there is no score

This site publishes a benchmark, and on a page like this the temptation is to borrow its authority for a comparison it never made. The comparison below is capability based, and here is exactly why.

No artifactNo committed run scores Vulkro for Salesforce against DigitSec S4. The benchmark this site does publish (bench/comparison/scorecard-high.md · vulkro 0.18.0 · measured 2026-07-18) scores the general Vulkro scanner on web-application code and contains no Apex.

What this comparison does not measure, and the reason each figure is absent.
Not published hereWhat that meansWhy
A head-to-head scoreNo precision, recall or F1 comparison between the two tools appears here, because no run exists that scored them on the same Salesforce corpus.The Vulkro benchmark that does exist scores the general scanner on web-application code. That corpus contains no Apex, so it cannot rank either tool on Salesforce work.
Runtime behaviourVulkro executes nothing. A defect that only appears while an org is running is outside what it can report, and no equivalence with interactive testing is claimed anywhere on this page.The review reads source, metadata and org settings. Interactive testing against a running org is a different kind of evidence, and DigitSec has it.
Check-by-check org coverageBoth products audit the live org. Nobody has mapped one check list onto the other, so the size of the overlap is unknown and is not estimated here.An org audit is a list of specific probes. Comparing two of them properly means running both against the same org and reading every row, which is an evaluation you can run and we have not published.
Anything behind the other vendor’s loginCapabilities are read from public product documentation. A cell we could not confirm says not verified rather than guessing.This is the closest competitor on the site, which makes a careless claim here the most expensive kind. Where the documentation is silent, so is the table.
The tools with a committed head-to-head run against Vulkro are listed with their scores on /proof and in /docs/benchmark. DigitSec is not one of them, and no number on this page implies otherwise.

The Salesforce edition shares its engine with the scanner that was measured, but a shared engine is not a shared result. The measured result, and the boundary around it.

04 / Where DigitSec wins

What the platform does that a local binary does not

The first item is a capability Vulkro does not have and is not trying to approximate. If it is what you need, buy the tool that has it.

  • It tests a running org, and Vulkro never will

    Interactive testing exercises an org while it runs, which surfaces behaviour no static read can produce: what a request actually does once configuration, packages and data are in play. Vulkro executes nothing by design, so anything that only appears at run time is out of scope for it. That is not a gap we intend to close by inference, and a static review is not a substitute for the test.

  • One platform for several kinds of testing

    Static review, dependency analysis, interactive testing and configuration review under one vendor, one login and one support contract is a real advantage for a security team that would rather manage one relationship than four tools. Vulkro is one binary doing static review, Salesforce-aware dependency analysis and the org audit, and you assemble anything beyond that yourself.

  • A hosted dashboard your security team can be given access to

    A platform account is something you grant, revoke and audit centrally, and a reviewer who never touches a terminal can still work the findings. Vulkro reports from the machine that ran the scan: the console is local and the multi-org view is a self-contained HTML file you send. If a hosted, always-on view is what your programme needs, that is DigitSec territory.

  • A dedicated Salesforce security vendor with a longer history

    DigitSec has been working this specific problem in the Salesforce ecosystem for years, with the ecosystem relationships and the reference customers that come with that. Vulkro for Salesforce is the newer product, and on a page like this the honest form of that sentence is the plain one.

05 / Coverage

Capability against capability

Not a scoreboard. Every cell is a capability statement, the gaps run in both directions, and a cell public documentation does not settle says so.

Capability comparison between Vulkro for Salesforce and DigitSec S4, with unconfirmed cells marked.
CapabilityVulkro for SalesforceDigitSec S4
Where the analysis runsYour machine, one static binaryThe vendor platform, with your org and repository connected to it
Source and org metadata leave your environmentNoYes, that is how a hosted analysis works
Who holds the org connectionYour own Salesforce CLI session; the OAuth token stays in that CLIThe platform, through a connection you authorise
Air-gapped operationYes (VULKRO_OFFLINE=1, licence file instead of sign-in)No, the platform is hosted
Apex, Visualforce, Aura, Lightning Web ComponentsYesYes
Flow definitions read as logicYes, including guest-user reachability and Apex actionsNot verified
Live-org configuration and posture auditYes: permissions, sharing, session and MFA settings, connected apps, installed packagesYes, documented as part of the platform
Interactive testing against a running orgNo. Nothing is executed, everYes
Dependency analysisSalesforce-aware: managed packages from the project metadata and JavaScript in static resources, matched offline against a bundled feedYes, documented as part of the platform
AppExchange Security Review readiness verdictYes: six requirement categories, a ten-gate pass and fail table, and one self-contained HTML report pinned to a checklist versionPositioned for submission preparation; a checklist-pinned report is not verified
Deterministic verdict you can diff between two commitsYes, and a CI gate that fails only on findings new against a base refNot verified
Hosted multi-user dashboard and historyNo. Local console, plus a self-contained multi-org dashboard fileYes, the shape of the product
How it is licensedPer seat, directly through our team; the licence is per person rather than per orgA vendor subscription; no price for either product appears on this page
Capability comparison, not a measurement: no cell here is a score. The Vulkro column is read from the shipped vulkro-sf command set; the DigitSec column is read from the vendor's public product documentation, and a cell that documentation does not settle reads not verified. Vendors change what they ship, so check the current documentation before you decide. No price appears for either product, because prices move and a stale price is a false claim.

The org half of that table is where the two products overlap most, so it is worth seeing what it actually produces rather than reading a row that says yes.

vulkro-sf org report --target-org acme-prodexit 1
Target orgacme-prodNA142 - production - API 62.0 - read-only connected user
4pass
5gap
2not evaluated
11checks run
Live-org posture checks, each with a status of pass, gap or not evaluated
CheckRuleStatusSeverityEvidence
MFA enforcementvulkro-sf org mfaSF-MFA-001gapCRIT2 of 61 active users can log in with a password alone (no MFA, no SSO).
Guest user accessvulkro-sf org guest-liveSF-GUEST-LIVE-001gapHIGHGuest profile for site partner-portal holds Read on Contact and Opportunity.
Connected appsvulkro-sf org connected-appsSF-CONNECTED-APP-004gapHIGHBilling Sync uses an http:// callback URL and requests refresh_token scope.
Permission set assignmentsvulkro-sf org permsSF-PERM-ASSIGN-001gapMED4 users hold Modify All Data outside the admin permission set group.
Sandbox refreshvulkro-sf org sandbox-refresh-lagSF-SANDBOX-002gapMEDFull sandbox uat last refreshed 214 days ago; production data has drifted.
Session settingsvulkro-sf org sessionSF-SESSION-002passnoneTimeout 30 min, sessions locked to login IP, clickjack protection on.
Sharing rulesvulkro-sf org sharing-rulesSF-SHARING-002passnoneNo criteria-based rule grants Read/Write to All Internal Users.
Login historyvulkro-sf org login-historySF-LOGIN-HISTORY-002passnoneNo successful login from an unseen country in the last 30 days.
Trust statusvulkro-sf org trust-statusSF-PKG-VERIFY-001passnoneInstance NA142 has no open incident or maintenance on Salesforce Trust.
Event monitoringvulkro-sf org event-monitoringSF-EVENT-MON-001not evaluatedunknownEvent Monitoring is not licensed in this org, so there is no event stream to read.
Health check scorevulkro-sf org health-checkSF-HEALTH-CHECK-001not evaluatedunknownAPI returned 403 for this user. Grant View Setup and Configuration, then re-run.

Not evaluated is not a pass. Two checks could not run against this org, so two answers are still unknown.

The live-org audit as it runs from your own machine. A check the connected user could not run is reported as not evaluated, never as a pass.

06 / Switching, or running both

Nothing to migrate, and one honest way to compare

A binary does not replace a platform on day one. It runs beside it until the output settles the argument.

Vulkro for Salesforce installs as a binary on a laptop or a CI runner. An existing DigitSec deployment keeps running while you point both at the same package and the same sandbox, and the comparison worth making is not the total on either side but how many findings on each list you would actually fix, and whether anything one of them found is missing from the other. Your first CLI sign-in starts a 14-day trial of the full product, so the side-by-side costs a scan rather than a procurement cycle.

Running both is a reasonable end state, and for a team that needs interactive testing it is the only complete one. The pattern that works is a platform for the hosted programme and the running-org testing, with the local binary doing the pre-submission readiness work, the air-gapped engagements, and any client whose agreement will not allow an upload.

For a consultancy the arithmetic is different again. The licence is per seat rather than per org, so one laptop covers as many client orgs as it scans, and the per-engagement workflow rolls a directory of per-org scans into one self-contained HTML dashboard without any of it leaving the machine.