Safeguard
Security Guides•

What is the day one dependency security checklist for a new service?

Ten items to verify in the first hour of a new service so dependency security is in place before the first release: inventory, lockfile, updates, gates.

Safeguard Security Team
4 min read

On day one, confirm ten things: an owner, a lockfile, strict installs in CI, update automation, a pull request scan, a merge gate, an approved registry, a pinned base image, an SBOM and a place for exceptions. If a template created the service, most should already be true.

Why a checklist when a template exists

Templates drift, and teams skip them. A short checklist gives each new service a ten minute check that nothing was lost or customized away. It also works for services created without a template, which is how you find out they need one.

The ten items

#ItemHow to verify
1Named owner in the catalogOwner field is a team, not a person who left
2Lockfile committedFile exists and matches the manifest
3Strict install in CICI uses the strict command, such as npm ci for Node, which per npm's docs errors when lock and manifest disagree
4Update automation onConfig file present and a test pull request opens
5Dependency scan on pull requestsOpen a test pull request and see the result
6Merge gate requiredBranch rules require the scan check to pass
7Approved registry onlyClean install works without personal configuration
8Base image pinned and currentTag plus digest, and a scan result for the image
9SBOM generated per buildArtifact is attached to the build
10Exception path knownREADME links to how to request one

A ten minute walkthrough

  1. Open the repository and read the first commit. Is the lockfile there?
  2. Open the CI configuration and find the install step.
  3. Open a throwaway pull request that adds a known old dependency version. Does the scan flag it and does the gate block it?
  4. Check the branch rules for a required check.
  5. Try a fresh clone in a clean container. Does the install succeed?
  6. Find the SBOM artifact on the latest build.

Step 3 is the one that proves the control works. A check that cannot fail is not a control.

What to do with gaps

Record each gap as a ticket with an owner and a date. Do not mark the service ready for production with open items 2, 5 or 6. Those three catch the most common failures.

For services that are deliberately off the path, write the reason in the repository and add an expiry. The same discipline applies to templates; see secure defaults for internal developer platforms.

Make it automatic

A checklist you run by hand is a starting point. Turn it into a scheduled check against every repository in your catalog, and report the services that fail. That turns a day one habit into a standing guardrail. See how to measure paved road adoption for reporting ideas.

Where Safeguard fits

Safeguard covers several of these items directly: SBOM and dependency scanning, policies and gates for pull requests, asset discovery for services without an owner, and continuous monitoring after release. Try a free scan at gold.safeguard.sh/scan.

Try it yourself

Open the inventory and imagine it as the output of checklist item 9, then look for anything you would not expect in a brand new service.

Click through it at your own pace, or open it full screen.

Quick check

Which three items matter most?

Lockfile, a scan on pull requests and a required merge gate. Together they catch the most common failures.

Does a service need an SBOM on day one?

Generating one per build from the start is cheap and gives you an inventory when the first advisory arrives.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.