Sound versus unsound: wrapping a C library safely in Rust
A safe Rust wrapper around C is only sound if no safe caller can trigger undefined behavior. What soundness means and a review checklist for FFI wrappers.
Deep dives, practical guides, and incident analyses from engineers who build Safeguard. No fluff, no vendor FUD — just what you need to ship secure software.
A safe Rust wrapper around C is only sound if no safe caller can trigger undefined behavior. What soundness means and a review checklist for FFI wrappers.
A deleted flag is not erasure. When soft delete is fine, when you need hard delete, and a two stage pattern that satisfies both product and privacy.
A decision guide to the Snowflake Python connector's documented authentication methods and which fit unattended pipelines, with secrets handling tips.
Compare unit tests, fuzzing, static analysis and formal verification for contracts: what each finds, what each misses, and a sensible order to adopt them.
Microsoft says Smart App Control on Windows 11 blocks unsigned files that lack positive reputation. What that means for developer tools and test builds.
Before a launch you want fewer surprises. Use Dependabot schedule, cooldown and pull request limits to calm updates without switching security off.
A sitemap helps discovery but does not guarantee indexing. Limits, which tags matter, when a small docs site can skip one, and what IndexNow adds.
Store a repository key in its own file and point signed-by at it, not the global trust store. Steps for Debian and Ubuntu, with pinning and key rollover.
DNF defaults gpgcheck, repo_gpgcheck and localpkg_gpgcheck to false. What that means for vendors who ship RPMs, and what to put in your repo file.
Weekly insights on software supply chain security, delivered to your inbox.
Your first fix PR is minutes away.
No sales call required, even your agent can complete the purchase over MCP.