Developer Tools
In-depth guides and analysis on developer tools from the Safeguard engineering team.
100 articles
Why did my scheduled GitHub Actions security scan stop running?
A scheduled scan can stop silently: 60 days of inactivity, a non-default branch, a fork or a changed owner. Here is how to find the cause and fix it.
Why did my Google integration stop working? Refresh token reasons
A Google-connected automation that suddenly fails usually lost its refresh token. Here are the five documented reasons and how to fix each one.
Why do developers ignore bot pull requests, and how do you fix it?
Bot pull requests get ignored when they are noisy, unowned and hard to trust. Six practical changes that raise the merge rate of automated fix PRs.
Why are my GitLab security scan results missing?
Empty GitLab security results usually trace to branch pipelines, failed jobs, merge request settings or runner limits. Use this checklist to find yours.
Why does my required security check stay pending on some PRs?
A required workflow skipped by path or branch filters stays Pending and blocks the merge. Why it happens and how to design a required check that reports.
Why does 1.0.0-rc.1 sort before 1.0.0? Pre-release versions
Under Semantic Versioning a pre-release such as 1.0.0-rc.1 ranks below 1.0.0, and build metadata is ignored. What that means for your update channel.
Who should own the security tool inside an engineering organization?
Give the tool a named product owner, split duties between security and platform engineering, and publish what each side decides. Orphaned tools decay.
Who should own scanner configuration: platform team or each repo?
Central, per repo or layered: how platform teams decide who owns scanner settings, with a decision table and a layered model that usually works.
Who can change a feature flag: approvals and an audit trail
A flag change alters production without a deploy, so it needs the same access control and record as a code change. Roles, approvals and what to log.
Which version number should a security fix get?
A backward compatible security fix is a patch release under Semantic Versioning. Here is when to bump minor or major instead, and what to tell customers.
Which UID should a container user have, and how do you chown files?
Image users get unpredictable IDs unless you set them. Use an explicit numeric UID and COPY with chown so a non-root container can read what it needs.
Which pyproject.toml fields are required for a Python library?
Only name must be static in the project table, and version is required but may be dynamic. See which other fields to add before you publish a library.
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.