<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Security on plzhans blog</title><link>https://blog.plzhans.com/en/categories/security/</link><description>Recent content in Security on plzhans blog</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sun, 30 Aug 2026 01:18:00 +0000</lastBuildDate><atom:link href="https://blog.plzhans.com/en/categories/security/index.xml" rel="self" type="application/rss+xml"/><item><title>age Usage Guide: Encrypt Team Secret Files with Recipients and Decrypt with Private Keys</title><link>https://blog.plzhans.com/en/posts/102-age-recipients-team-encryption-guide/</link><pubDate>Fri, 01 May 2026 22:57:00 +0000</pubDate><guid>https://blog.plzhans.com/en/posts/102-age-recipients-team-encryption-guide/</guid><description>&lt;p&gt;&lt;picture&gt;&#10; &lt;source srcset="https://blog.plzhans.com/posts/102-age-recipients-team-encryption-guide/assets/1_38322a0f-7e83-80a2-ba17-e65632a1b3af_hu_88821804df89a8f9.webp" type="image/webp"&gt;&#10; &lt;img src="https://blog.plzhans.com/posts/102-age-recipients-team-encryption-guide/assets/1_38322a0f-7e83-80a2-ba17-e65632a1b3af_hu_1c922648875a6db4.png" alt="Cover image showing the flow of encrypting a team&amp;rsquo;s secret file with age using public keys (recipients) and decrypting it with a private key" width="1200" height="670" loading="eager" fetchpriority="high"&gt;&#10; &lt;/picture&gt;&lt;/p&gt;&#10;&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;&#10;&lt;h3 id="what-is-age"&gt;What is age?&lt;/h3&gt;&#10;&lt;p&gt;age is a tool for &lt;strong&gt;simple file encryption/decryption based on public keys (Recipients)&lt;/strong&gt;.&lt;/p&gt;&#10;&lt;p&gt;The output is typically saved as &lt;code&gt;*.age&lt;/code&gt; files, and private keys are kept only locally.&lt;/p&gt;&#10;&lt;h3 id="problems-age-solves"&gt;Problems age Solves&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Store sensitive configuration files in a team without sharing them in plaintext&lt;/li&gt;&#10;&lt;li&gt;Anyone with the recipient (public key) list can encrypt, and only those with the private key can decrypt&lt;/li&gt;&#10;&lt;li&gt;The workflow is simple enough to easily integrate with CI/scripts&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="differences-from-gpg-brief"&gt;Differences from GPG (Brief)&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Key Distribution/Discovery&lt;/strong&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;GPG: There is a culture of uploading public keys to key servers for search and verification&lt;/li&gt;&#10;&lt;li&gt;age: The key server model is not common; recipients are often managed in a file like &lt;code&gt;recipients.txt&lt;/code&gt; within the project&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Feature Scope&lt;/strong&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;GPG: Wide range of features including signing, web of trust, email encryption, etc.&lt;/li&gt;&#10;&lt;li&gt;age: Focused on file encryption (simplicity is the advantage)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Team Operations&lt;/strong&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;age: Adding/removing team member public keys in a &lt;code&gt;recipients&lt;/code&gt; file is intuitive in practice&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;:lock: Never upload private key files (age-key) to remote repositories. Use CI Secrets or a separate secret store when needed.&lt;/p&gt;</description></item></channel></rss>