<component type="desktop-application">
<id>com.github.paolostivanin.OTPClient.desktop</id>
<name>OTPClient</name>
<summary>Application for managing TOTP/HOTP tokens with built-in encryption</summary>
<project_license>GPL-3.0+</project_license>
<developer_name>Paolo Stivanin</developer_name>
<description>
<p>Highly secure and easy to use OTP client written in C/GTK3 that supports both TOTP and HOTP and has the following features:</p>
<ul>
<li>integration with the OS' secret service provider via libsecret</li>
<li>support both TOTP and HOTP</li>
<li>support setting custom digits (between 4 and 10 inclusive)</li>
<li>support setting a custom period (between 10 and 120 seconds inclusive)</li>
<li>support SHA1, SHA256 and SHA512 algorithms</li>
<li>support for Steam codes</li>
<li>import and export encrypted/plain andOTP backup</li>
<li>import and export encrypted/plain Aegis backup</li>
<li>import and export plain FreeOTPPlus backup (key URI format only)</li>
<li>import of Google's migration QR codes</li>
<li>local database is encrypted using AES256-GCM (PBKDF2 with SHA512 and 100k iterations) and, while decrypted, it's stored in a secure memory area allocated by GCrypt.</li>
</ul>
</description>
<pkgname>otpclient</pkgname>
<launchable type="desktop-id">com.github.paolostivanin.OTPClient.desktop</launchable>
<icon type="remote" width="48" height="48">com/github/paolostivanin.OTPClient.desktop/770ac63b21c2e1d909ab49f0b43990e2/icons/48x48/otpclient_com.github.paolostivanin.OTPClient.png</icon>
<icon type="cached" width="64" height="64">otpclient_com.github.paolostivanin.OTPClient.png</icon>
<icon type="remote" width="64" height="64">com/github/paolostivanin.OTPClient.desktop/770ac63b21c2e1d909ab49f0b43990e2/icons/64x64/otpclient_com.github.paolostivanin.OTPClient.png</icon>
<icon type="remote" width="128" height="128">com/github/paolostivanin.OTPClient.desktop/770ac63b21c2e1d909ab49f0b43990e2/icons/128x128/otpclient_com.github.paolostivanin.OTPClient.png</icon>
<icon type="stock">com.github.paolostivanin.OTPClient</icon>
<url type="homepage">https://github.com/paolostivanin/OTPClient</url>
<url type="bugtracker">https://github.com/paolostivanin/OTPClient/issues</url>
<categories>
<category>System</category>
<category>Security</category>
</categories>
<provides>
<binary>otpclient</binary>
</provides>
<screenshots>
<screenshot type="default">
<caption>Empty main window</caption>
<image type="source" width="501" height="590">com/github/paolostivanin.OTPClient.desktop/770ac63b21c2e1d909ab49f0b43990e2/screenshots/image-1_orig.png</image>
<image type="thumbnail" width="224" height="263">com/github/paolostivanin.OTPClient.desktop/770ac63b21c2e1d909ab49f0b43990e2/screenshots/image-1_224x263.png</image>
</screenshot>
<screenshot>
<caption>Add menu</caption>
<image type="source" width="501" height="590">com/github/paolostivanin.OTPClient.desktop/770ac63b21c2e1d909ab49f0b43990e2/screenshots/image-2_orig.png</image>
<image type="thumbnail" width="224" height="263">com/github/paolostivanin.OTPClient.desktop/770ac63b21c2e1d909ab49f0b43990e2/screenshots/image-2_224x263.png</image>
</screenshot>
<screenshot>
<caption>General menu</caption>
<image type="source" width="501" height="590">com/github/paolostivanin.OTPClient.desktop/770ac63b21c2e1d909ab49f0b43990e2/screenshots/image-3_orig.png</image>
<image type="thumbnail" width="224" height="263">com/github/paolostivanin.OTPClient.desktop/770ac63b21c2e1d909ab49f0b43990e2/screenshots/image-3_224x263.png</image>
</screenshot>
<screenshot>
<caption>Settings menu</caption>
<image type="source" width="352" height="405">com/github/paolostivanin.OTPClient.desktop/770ac63b21c2e1d909ab49f0b43990e2/screenshots/image-4_orig.png</image>
<image type="thumbnail" width="224" height="257">com/github/paolostivanin.OTPClient.desktop/770ac63b21c2e1d909ab49f0b43990e2/screenshots/image-4_224x257.png</image>
</screenshot>
</screenshots>
<keywords>
<keyword>otp</keyword>
<keyword>totp</keyword>
<keyword>hotp</keyword>
<keyword>2fa</keyword>
<keyword>2factor</keyword>
<keyword>2fa-client</keyword>
<keyword>2step</keyword>
<keyword>twostep</keyword>
</keywords>
<releases>
<release type="stable" version="4.0.2" timestamp="1722902400">
<description>
<p>OTPClient 4.0.2 brings an important fix:</p>
<ul>
<li>FIX: importing data on a first run (#376)</li>
</ul>
</description>
</release>
<release type="stable" version="4.0.1" timestamp="1722384000">
<description>
<p>OTPClient 4.0.1 brings a small fix:</p>
<ul>
<li>FIX: add missing ui file to CMakeLists.txt</li>
</ul>
</description>
</release>
<release type="stable" version="4.0.0" timestamp="1722297600">
<description>
<p>OTPClient 4.0.0 brings the following changes:</p>
<ul>
<li>CHANGE: switch from PBKDF2 to Argon2id (#358)</li>
<li>NEW: make Argon2id parameters configurable (#358)</li>
<li>NEW: add support for importing plain Aegis txt</li>
<li>FIX: various issues related to importing Aegis backups (#371)</li>
<li>FIX: improving handling of json files (#369)</li>
<li>FIX: show db parameters dynamically</li>
</ul>
</description>
</release>
<release type="stable" version="3.7.0" timestamp="1719532800">
<description>
<p>OTPClient 3.7.0 brings the following changes:</p>
<ul>
<li>CHANGE: deleting a row, editing a row and showing the qr code is now done via right click on the target row (#359)</li>
<li>FIX: multiple fixes to QR handling (#364)</li>
<li>FIX: exporting to FreeOTP+ format (#367))</li>
<li>FIX: updated otpclient and otpclient-cli man pages (thanks @fvcr)</li>
<li>FIX: code more readable thanks to macros</li>
</ul>
</description>
</release>
</releases>
<content_rating type="oars-1.0">
<content_attribute id="violence-cartoon">none</content_attribute>
<content_attribute id="violence-fantasy">none</content_attribute>
<content_attribute id="violence-realistic">none</content_attribute>
<content_attribute id="violence-bloodshed">none</content_attribute>
<content_attribute id="violence-sexual">none</content_attribute>
<content_attribute id="drugs-alcohol">none</content_attribute>
<content_attribute id="drugs-narcotics">none</content_attribute>
<content_attribute id="drugs-tobacco">none</content_attribute>
<content_attribute id="sex-nudity">none</content_attribute>
<content_attribute id="sex-themes">none</content_attribute>
<content_attribute id="language-profanity">none</content_attribute>
<content_attribute id="language-humor">none</content_attribute>
<content_attribute id="language-discrimination">none</content_attribute>
<content_attribute id="social-chat">none</content_attribute>
<content_attribute id="social-info">none</content_attribute>
<content_attribute id="social-audio">none</content_attribute>
<content_attribute id="social-location">none</content_attribute>
<content_attribute id="social-contacts">none</content_attribute>
<content_attribute id="money-purchasing">none</content_attribute>
<content_attribute id="money-gambling">none</content_attribute>
</content_rating>
</component>