Un archivo age tiene un encabezado de texto con un bloque (stanza) por destinatario (X25519, scrypt, ssh-ed25519, ssh-rsa, tipos de plugin y, desde age 1.3, mlkem768x25519 para destinatarios híbridos poscuánticos), cada uno de los cuales envuelve la misma clave del archivo; después vienen un MAC del encabezado (HMAC-SHA-256) y la carga útil, cifrada con ChaCha20-Poly1305 en fragmentos de 64 KiB. Las claves son cadenas de una línea: destinatarios age1… y claves privadas AGE-SECRET-KEY-1… (identities, en la terminología de age); los destinatarios poscuánticos age1pq1… tienen 1959 caracteres.
age omite a propósito las firmas, los servidores de claves, la red de confianza y la elección de algoritmos; combínalo con ssh-keygen -Y o minisign cuando importe la autenticidad, ya que cualquiera que tenga la clave pública de un destinatario puede cifrar para él. Entre las implementaciones están la herramienta de referencia en Go, rage (Rust) y typage (TypeScript); SOPS y varias herramientas de gestión de secretos lo usan. Medido con age 1.3.2: cifrar cinco bytes para un destinatario poscuántico produce un archivo de 1664 bytes. La herramienta de cifrado con age funciona localmente en el navegador.