Tag
api-design
- Jul 29, 2026 Opaque Handles and Ownership Transfer in C APIs Why handle-based interfaces survive changes that struct-based ones cannot, how borrowing differs from transfer, and what an invalidated handle means to the caller. language runtimes
- Jun 1, 2026 Designing a C ABI That Survives Version Changes Which parts of an interface are frozen by binary compatibility, how struct sizing and symbol versioning let a library grow, and what a versioned entry point must promise. language runtimes
- Apr 20, 2026 Designing a Key Service Interface That Cannot Be Misused Why a key store should expose operations rather than keys, which parameters belong in a request, and how context binding and audit change the trust model. cryptography
- Jan 17, 2025 The Release of Unverified Plaintext Problem in AEAD APIs Why a decryption function that returns plaintext before the tag is checked reintroduces chosen-ciphertext attacks, and how streaming interfaces force the verification decision into the caller. cryptography