Integrations and automated evidence are typically managed by workspace admins.
See Evidence & audits for how automated evidence fits
alongside manual evidence.
What it’s used for
Keldyn uses the data it reads from Vercel to keep the evidence for your hosting and deployment controls current. Each nightly refresh updates the evidence and the freshness status shown on the integration’s Controls covered table. The integration contributes evidence to these ISO 27001 controls:
It also contributes evidence to these SOC 2 controls:
Full coverage means the data is the artifact the control asks for.
Partial coverage means the data usefully contributes but does not, on its
own, replace everything the control requires (for example, A.8.32 also needs
change authorization, impact assessment, and rollback records that live in your
change-management process). Keldyn labels partial coverage in the
auto-generated evidence so it isn’t mistaken for complete coverage.
Vercel’s edge firewall blocks or challenges matched traffic rather than
enforcing a classic default-deny allowlist, and the Vercel API doesn’t expose
cipher-suite/TLS-version policy or the certificate record itself — keep that
in mind when using this evidence for Firewalls at access points and
Encryption in transit. Network monitoring alerts now needs all of a
configured alert-rule/history source, a wired webhook destination, and an
active log drain to fully pass — still not a full SIEM. System redundancy
reflects configuration, not a tested failover, and Auto-scaling
configuration reflects that Vercel functions scale by design rather than a
load-tested outcome. Segregated change environments stays Partial: the
environment inventory contributes to, but does not replace, the architecture
diagram and access-control documentation in your change-management document.
A.5.17 / Authentication information stays unsatisfied until you confirm
which environment variables are in rotation scope — see below.
Before you begin
1
Install as a Vercel team admin
You connect by installing the Keldyn integration on your Vercel team. This
is a connect once flow — after install, Keldyn refreshes evidence on its
own with no further action from you. Installing requires permission to add
integrations to the team.
2
Know which features your plan includes
The Vercel Firewall (WAF), Log Drains, general Alerts, and
Webhooks are available on higher Vercel plans (Pro/Enterprise). On
plans that don’t include one of them, the affected controls show Access
required for that source instead of failing — Network monitoring
alerts still refreshes from whichever of its sources remain available,
and the rest of the evidence refreshes normally.
3
Keldyn only ever reads
The integration is granted read access only. Keldyn never deploys, changes
configuration, or writes to your Vercel team.
Set up the integration
1
Open Integrations
In the Keldyn web app, go to Integrations and select Vercel.
2
Connect
Select Connect. You’re redirected to Vercel to install the Keldyn
integration on your team. Review the requested read access and approve it;
Vercel returns you to Keldyn once the install completes.
3
Run the first sync
After connecting, select Sync now to pull evidence immediately, or wait
for the next scheduled refresh. The Controls covered and Evidence
sources tables then show what was collected and how fresh it is.
Confirm your environment-variable mappings
Keldyn can read every environment variable configured on your projects — its name, which environments it targets, and when it was last updated. What it cannot know is which of those variables are actual credentials your rotation policy covers, versus a feature flag or a public config value that never needs to rotate. So Keldyn proposes, and you confirm. After the first sync, the Environment-variable mappings card on the Vercel integration page lists every environment variable Keldyn can see as a rotation-scope candidate. For each proposal you can:- Confirm it, which records your name and the time against the mapping and sets its rotation period (defaulting to 90 days) — its last-updated timestamp then counts toward A.5.17 on the next sync.
- Reject it, which stops Keldyn proposing it again. A rejected mapping is never revived by a later sync.
What data Keldyn collects and why
Keldyn requests read-only access and never writes to your Vercel team. It collects only the data below, and only to build control evidence.A project with a single function region and no cross-region failover, or a
domain without TLS/HTTPS enforced, is recorded as real (unfavorable)
evidence rather than a sync failure — that’s what surfaces as a gap on the
matching control.
Authentication
Keldyn authenticates as a Vercel integration installation. Installing the integration returns a long-lived, team-scoped access token that Keldyn stores encrypted, so there is no password to rotate and no repeated re-authorization. The integration’s read scopes are configured on the integration itself in Vercel. Removing the integration in Vercel, or selecting Disconnect in Keldyn, immediately severs access.Troubleshooting “Access required”
A control shows Access required when the connected team can’t read the underlying data — most often because the feature isn’t included in your Vercel plan. For example:- The Vercel Firewall (WAF) is required for the networks-security control and for the firewall leg of network-monitoring-alerts.
- Log Drains are required for the logging control and for the log-drain leg of network-monitoring-alerts.
- Alerts and Webhooks are required for the fired-alert-history and webhook-destination legs of network-monitoring-alerts, respectively.
Keeping evidence current
Keldyn refreshes Vercel evidence automatically each day. Evidence that hasn’t refreshed within its expected cadence is marked stale, and failed pulls are marked failed so you can spot gaps. You can also trigger an immediate refresh at any time with Sync now.Next steps
Evidence & audits
Learn how automated integration evidence works alongside manual evidence and
audits.