Secure Development
In-depth guides and analysis on secure development from the Safeguard engineering team.
7 articles
TLS Library Comparison: OpenSSL vs. LibreSSL vs. BoringSSL
Three forks of the same codebase, three different security philosophies. Here is how to choose the right TLS library for your project.
Node.js Permission Model: Restricting What Your Code Can Do
Node.js finally has an experimental permission model. It is a significant step toward containing supply chain attacks, but it has important limitations.
Bun Runtime Security Considerations: Speed vs. Safety Trade-offs
Bun prioritizes performance over Node.js compatibility. But some of those performance choices have security implications worth understanding.
Deno Security Model Advantages: Runtime Permissions Done Right
Deno requires explicit permission grants for file, network, and environment access. This capability-based model changes the supply chain risk equation.
Swift Security Analysis Tools: The Current Landscape
Swift's type safety helps, but it does not eliminate all security bugs. Here is the current tooling landscape for finding vulnerabilities in Swift code.
Clippy Rust Security Lints: Catching What the Borrow Checker Misses
Rust's compiler catches memory safety bugs. Clippy catches everything else -- including security anti-patterns the borrow checker does not care about.
TypeScript Strict Mode Security Benefits: More Than Just Type Safety
TypeScript's strict mode catches entire categories of bugs at compile time. Some of those bugs have direct security implications.