<component type="desktop-application">
<id>com.github.paolostivanin.OTPClient.desktop</id>
<name>OTPClient</name>
<summary>GTK+ application for managing TOTP and 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/365fa58245841ac02ee10e5b07f63793/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/365fa58245841ac02ee10e5b07f63793/icons/64x64/otpclient_com.github.paolostivanin.OTPClient.png</icon>
<icon type="remote" width="128" height="128">com/github/paolostivanin.OTPClient.desktop/365fa58245841ac02ee10e5b07f63793/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/365fa58245841ac02ee10e5b07f63793/screenshots/image-1_orig.png</image>
<image type="thumbnail" width="224" height="263">com/github/paolostivanin.OTPClient.desktop/365fa58245841ac02ee10e5b07f63793/screenshots/image-1_224x263.png</image>
</screenshot>
<screenshot>
<caption>Add menu</caption>
<image type="source" width="501" height="590">com/github/paolostivanin.OTPClient.desktop/365fa58245841ac02ee10e5b07f63793/screenshots/image-2_orig.png</image>
<image type="thumbnail" width="224" height="263">com/github/paolostivanin.OTPClient.desktop/365fa58245841ac02ee10e5b07f63793/screenshots/image-2_224x263.png</image>
</screenshot>
<screenshot>
<caption>General menu</caption>
<image type="source" width="501" height="590">com/github/paolostivanin.OTPClient.desktop/365fa58245841ac02ee10e5b07f63793/screenshots/image-3_orig.png</image>
<image type="thumbnail" width="224" height="263">com/github/paolostivanin.OTPClient.desktop/365fa58245841ac02ee10e5b07f63793/screenshots/image-3_224x263.png</image>
</screenshot>
<screenshot>
<caption>Settings menu</caption>
<image type="source" width="352" height="405">com/github/paolostivanin.OTPClient.desktop/365fa58245841ac02ee10e5b07f63793/screenshots/image-4_orig.png</image>
<image type="thumbnail" width="224" height="257">com/github/paolostivanin.OTPClient.desktop/365fa58245841ac02ee10e5b07f63793/screenshots/image-4_224x257.png</image>
</screenshot>
</screenshots>
<keywords>
<keyword>otp</keyword>
<keyword>totp</keyword>
<keyword>hotp</keyword>
</keywords>
<releases>
<release type="stable" version="3.2.1" timestamp="1698710400">
<description>
<p>OTPClient 3.2.1 fixes a couple of issues.</p>
<ul>
<li>FIX: increase secure memory pool to 64 MB, if possible</li>
<li>FIX: parsing of big aegis encrypted json</li>
</ul>
</description>
</release>
<release type="stable" version="3.2.0" timestamp="1698192000">
<description>
<p>OTPClient 3.2.0 fixes a couple of issues.</p>
<ul>
<li>NEW: add file chooser dialog on export (#305)</li>
<li>FIX: overwrite exported file instead of appending it (#305)</li>
<li>FIX: exported file will be accessible only by the current user (#305)</li>
<li>FIX: multiple issues related to failed first launch (#303)</li>
<li>FIX: couple of issues with secret-service</li>
</ul>
</description>
</release>
<release type="stable" version="3.1.9" timestamp="1688342400">
<description>
<p>OTPClient 3.1.9 brings a couple of fixes:</p>
<ul>
<li>fix db corruption (#301)</li>
<li>fix crash when user changes db multiple times</li>
</ul>
</description>
</release>
<release type="stable" version="3.1.8" timestamp="1686700800">
<description>
<p>OTPClient 3.1.8 brings a single fix</p>
<ul>
<li>Fix importing Aegis plain json</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>