Kelly Mears

Code Signing

Cryptographically attesting who produced a binary, and the operating-system checks built on it.

Systems & Tooling2 min read202 words13 out · 21 in
also calledNotarizationGatekeeper

Code signing attaches a cryptographic signature to an executable, attesting to its origin and proving it has not been modified since. Operating systems use signatures to decide whether to run something and what capabilities to grant it.

On macOS the layered system is worth understanding as a practical matter. An application can be unsigned, ad-hoc signed (a signature with no identity behind it), signed with a paid developer identity, or additionally notarized — submitted to Apple for automated scanning and stapled with a ticket. Files downloaded through a browser carry a quarantine attribute, and the system's Gatekeeper check refuses to launch quarantined applications that are not notarized.

The consequence for anyone sharing a small tool informally is concrete: an ad-hoc signed application, sent to another machine, presents a dialog claiming the app is damaged. It is not — it is unnotarized and quarantined. The reliable fix is removing the quarantine attribute; the folklore workaround of opening from the context menu no longer applies to ad-hoc signed applications on recent versions.

Testing this requires a machine other than the one that built it, since a local build has no quarantine attribute and a development-path fallback can mask the failure entirely. See Ground Truth.

See also12

Letterlocking

Folding, slitting and sealing a letter so the sheet becomes its own tamper-evident envelope.

Meaning & Society8 connections

Daemon

A long-running background process managed by the operating system's service supervisor.

Systems & Tooling19 connections

Supply Chain Security

Protecting against compromise arriving through the code and tooling a project depends on.

Version Control & Delivery24 connections

Least Privilege

Granting only the permissions actually required, so a compromise has a small ceiling.

Systems & Tooling38 connections

Secret Management

Storing, distributing, and rotating credentials without embedding them in code or history.

Systems & Tooling33 connections

Prompt Injection

Untrusted content that reaches a model's context and is treated as instruction.

Agents & Language Models18 connections

Observability

How much of a system's internal state can be inferred from what it emits.

Method32 connections

Silent Failure

A failure that produces no signal, so the absence of an error reads as success.

Method73 connections

Cron

Time-based scheduling of recurring jobs, and the reasons scheduled jobs quietly stop working.

Systems & Tooling19 connections

Dual Boot

Installing two or more operating systems on one computer and choosing between them at startup, a common way to keep Windows for some tasks and Linux for others, with recurring friction over bootloaders, clocks and shared disks.

Systems & Tooling9 connections

Commit Signing

Cryptographically signing Git commits so a commit's author can be verified rather than merely claimed, the key types used, and what a green verified badge does and does not prove.

Version Control & Delivery10 connections

GNU Privacy Guard

A free implementation of the OpenPGP standard for encrypting and signing files, email, and software releases, descended from Phil Zimmermann's PGP and known both for its importance to software distribution and for being hard to use.

Systems & Tooling7 connections

Linked from21