Tauri App Signing & Release Guide
January 13, 2026
Rust
Build in Public
This guide covers how to sign and release your Kanban app for macOS, Windows, and Linux.
Quick Start
- Set up signing certificates (see platform-specific sections below)
- Add secrets to GitHub repository
- Push a version tag:
git tag v1.0.0 && git push origin v1.0.0 - The GitHub Action will build, sign, and create a draft release
macOS Code Signing & Notarization
Prerequisites
- Apple Developer Account ($99/year)
- Mac computer with Xcode installed
Step 1: Create a Developer ID Certificate
On your Mac, open Keychain Access
Go to Keychain Access > Certificate Assistant > Request a Certificate from a Certificate Authority
Enter your email, select “Saved to disk”, and save the
.certSigningRequestfileClick + to create a new certificate
Select Developer ID Application (for distribution outside App Store)
Upload your
.certSigningRequestfileDownload the certificate and double-click to install it in Keychain
Step 2: Export Certificate for CI/CD
- Open Keychain Access
- Find your certificate under My Certificates
- Expand it, right-click the private key, select Export
- Save as
.p12file with a strong password - Convert to base64:
base64 -i Certificates.p12 -o certificate-base64.txt
Step 3: Get Your Signing Identity
Run this command to find your signing identity:
security find-identity -v -p codesigning
Look for something like:
"Developer ID Application: Your Name (TEAMID123)"
Step 4: Create App-Specific Password (for notarization)
- Go to appleid.apple.com
- Sign in > Security > App-Specific Passwords
- Generate a new password for “Tauri Notarization”
Step 5: Find Your Team ID
- Go to Apple Developer Membership
- Your Team ID is shown there
Step 6: Add GitHub Secrets
Go to your repo > Settings > Secrets and variables > Actions, add:
| Secret | Value |
|---|---|
APPLE_CERTIFICATE | Contents of certificate-base64.txt |
APPLE_CERTIFICATE_PASSWORD | Password used when exporting .p12 |
APPLE_SIGNING_IDENTITY | e.g., Developer ID Application: Your Name (TEAMID123) |
APPLE_ID | Your Apple ID email |
APPLE_PASSWORD | App-specific password from Step 4 |
APPLE_TEAM_ID | Your Team ID from Step 5 |
Local Build with Signing
export APPLE_SIGNING_IDENTITY="Developer ID Application: Your Name (TEAMID123)"
export APPLE_ID="your@email.com"
export APPLE_PASSWORD="app-specific-password"
export APPLE_TEAM_ID="TEAMID123"
pnpm tauri build
Windows Code Signing (Optional)
Windows signing prevents SmartScreen warnings but requires purchasing a code signing certificate ($200-400+/year).
Option 1: OV Certificate (cheaper, still shows initial warning)
- Purchase from DigiCert, Sectigo, or similar
- Convert to PFX format:
openssl pkcs12 -export -in cert.cer -inkey private-key.key -out certificate.pfx - Add to GitHub Secrets:
WINDOWS_CERTIFICATE: base64 of .pfx fileWINDOWS_CERTIFICATE_PASSWORD: export password
Option 2: Skip Signing
Windows apps work without signing, but users will see a SmartScreen warning on first download. They can click “More info” > “Run anyway”.
Linux
Linux builds don't require code signing. The workflow produces:
.deb(Debian/Ubuntu).rpm(Fedora/RHEL).AppImage(Universal)
Tauri Configuration
Update src-tauri/tauri.conf.json:
{
"productName": "Kanban",
"version": "1.0.0",
"identifier": "com.yourcompany.kanban",
"bundle": {
"active": true,
"category": "Productivity",
"copyright": "© 2025 Your Company",
"icon": [
"icons/32x32.png",
"icons/128x128.png",
"icons/128x128@2x.png",
"icons/icon.icns",
"icons/icon.ico"
],
"macOS": {
"minimumSystemVersion": "10.13",
"hardenedRuntime": true
},
"windows": {
"certificateThumbprint": null,
"digestAlgorithm": "sha256",
"timestampUrl": "http://timestamp.digicert.com"
}
}
}
Release Process
1. Update Version
Update version in these files:
package.jsonsrc-tauri/Cargo.tomlsrc-tauri/tauri.conf.json
2. Commit and Tag
git add .
git commit -m "Release v1.0.0"
git tag v1.0.0
git push origin main --tags
3. Monitor Build
- Go to Actions tab in GitHub
- Watch the “Release” workflow
- Once complete, go to Releases
- Edit the draft release, add release notes
- Click Publish release
Troubleshooting
macOS: “Team is not yet configured for notarization”
Contact Apple Developer Support. New accounts sometimes need manual activation for notarization.
macOS: Notarization takes too long
Check status:
xcrun notarytool history --apple-id YOUR_APPLE_ID --password YOUR_APP_PASSWORD --team-id YOUR_TEAM_ID
Windows: SmartScreen warning
This is normal for new/unsigned apps. Options:
- Purchase an EV certificate (expensive, no warning)
- Build reputation over time with OV certificate
- Submit to Microsoft for manual review
Build fails on GitHub Actions
Check that all secrets are properly set and the certificate hasn't expired.
Alternative: Ad-hoc Signing (No Apple Developer Account)
For testing or personal use on Apple Silicon Macs:
export APPLE_SIGNING_IDENTITY="-"
pnpm tauri build
Users will need to right-click > Open the first time.