Recipient stanzas wrap a file key
Each recipient - an X25519 public key or a passphrase - gets its own stanza in the file header, each wrapping the same randomly generated file key. For an X25519 recipient the tool performs an ephemeral Diffie-Hellman exchange; for a passphrase it derives a wrapping key with scrypt using a random salt and an auto-tuned work factor.