Skip to content

Encryption

This documentation explains how to migrate to the encryption v2 system. Learn more about the encryption v2 system in the blog post.

Terminal window
npx @capgo/cli key create

Store the private key securely. Never commit it to source control or share it with untrusted parties.

This command:

  • Creates a new key pair in your app
  • Removes the old key from your Capacitor config
  • Keeps old key files for backward compatibility

When prompted โ€œDo you want to setup encryption with the new channel in order to support old apps and facilitate the migration?โ€, select yes. This adds a new defaultChannel option to your Capacitor config.

capacitor.config.ts
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
appId: 'com.example.app',
appName: 'Example App',
plugins: {
CapacitorUpdater: {
// ... other options
defaultChannel: 'encryption_v2' // New apps will use this channel
}
}
};
export default config;
Terminal window
npx @capgo/cli bundle upload --channel encryption_v2
Terminal window
npx @capgo/cli channel set encryption_v2 --self-assign
Terminal window
npx @capgo/cli bundle upload --channel production

Once all users have updated their apps:

  1. Remove defaultChannel from your Capacitor config
  2. Delete the old channel:
Terminal window
npx @capgo/cli channel delete encryption_v2