mirror of
https://github.com/btouchard/ackify.git
synced 2026-02-09 23:38:30 -06:00
feat(install): add telemetry option to installation script
- Add interactive telemetry prompt with GDPR compliance explanation - Document collected metrics (documents, signatures, webhooks, reminders) - Add ACKIFY_TELEMETRY to .env.example, compose.yml and compose-traefik.yml - Update README.md with telemetry documentation - Default to disabled but encourage users to opt-in
This commit is contained in:
@@ -68,4 +68,5 @@ ACKIFY_ED25519_PRIVATE_KEY=your_base64_encoded_ed25519_private_key
|
||||
# ACKIFY_ONLY_ADMIN_CAN_CREATE=false
|
||||
|
||||
# Server Configuration
|
||||
ACKIFY_LISTEN_ADDR=:8080
|
||||
ACKIFY_LISTEN_ADDR=:8080
|
||||
ACKIFY_TELEMETRY=false
|
||||
@@ -258,7 +258,7 @@ func Load() (*Config, error) {
|
||||
config.App.ImportMaxSigners = getEnvInt("ACKIFY_IMPORT_MAX_SIGNERS", 500)
|
||||
|
||||
// Telemetry configuration
|
||||
config.Telemetry = getEnv("ACKIFY_TELEMETRY", "") != "false" && getEnv("DO_NOT_TRACK", "") != "1"
|
||||
config.Telemetry = getEnv("ACKIFY_TELEMETRY", "false") != "false" && getEnv("DO_NOT_TRACK", "") != "1"
|
||||
|
||||
// Validation: At least one authentication method must be enabled
|
||||
if !config.Auth.OAuthEnabled && !config.Auth.MagicLinkEnabled {
|
||||
|
||||
@@ -112,6 +112,16 @@ ACKIFY_OAUTH_CLIENT_SECRET=your_oauth_client_secret
|
||||
# When enabled, only admins can create new documents
|
||||
# ACKIFY_ONLY_ADMIN_CAN_CREATE=false
|
||||
|
||||
# ==========================================
|
||||
# Telemetry Configuration
|
||||
# ==========================================
|
||||
# Anonymous usage metrics to help improve Ackify
|
||||
# - GDPR compliant (no personal data collected)
|
||||
# - Business metrics only: documents, signatures, webhooks, reminders count
|
||||
# - Non-intrusive (background collection)
|
||||
# Set to true to help us improve Ackify!
|
||||
ACKIFY_TELEMETRY=false
|
||||
|
||||
# ==========================================
|
||||
# CONFIGURATION INSTRUCTIONS
|
||||
# ==========================================
|
||||
|
||||
@@ -144,6 +144,40 @@ MagicLink provides passwordless authentication via email. Users receive a secure
|
||||
- Internal applications where email domain is trusted
|
||||
- Combination with OAuth for flexible authentication
|
||||
|
||||
## Anonymous Telemetry
|
||||
|
||||
Ackify can collect anonymous usage metrics to help improve the project.
|
||||
|
||||
### What is collected
|
||||
|
||||
**Business metrics only:**
|
||||
- Number of documents created
|
||||
- Number of signatures/confirmations
|
||||
- Number of webhooks configured
|
||||
- Number of email reminders sent
|
||||
|
||||
### What is NOT collected
|
||||
|
||||
- No personal data
|
||||
- No user information (names, emails, IPs)
|
||||
- No document content
|
||||
- No authentication details
|
||||
|
||||
### Privacy
|
||||
|
||||
- **GDPR compliant** - No personal data is ever collected
|
||||
- **Non-intrusive** - Runs in background, no impact on performance
|
||||
- **Opt-in** - Disabled by default, you choose to enable it
|
||||
|
||||
### Configuration
|
||||
|
||||
```env
|
||||
# Enable anonymous telemetry (default: false)
|
||||
ACKIFY_TELEMETRY=true
|
||||
```
|
||||
|
||||
We encourage you to enable telemetry to help us improve Ackify for everyone!
|
||||
|
||||
## SMTP Configuration
|
||||
|
||||
SMTP is used for:
|
||||
@@ -193,6 +227,7 @@ ADMIN_EMAILS=admin@your-domain.com
|
||||
- `MAIL_*` - SMTP configuration for email features
|
||||
- `AUTH_MAGICLINK_ENABLED` - Force enable/disable MagicLink
|
||||
- `ONLY_ADMIN_CAN_CREATE` - Restrict document creation to admins only (default: false)
|
||||
- `ACKIFY_TELEMETRY` - Enable anonymous usage metrics (default: false)
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
|
||||
@@ -68,6 +68,7 @@ services:
|
||||
ACKIFY_CHECKSUM_MAX_REDIRECTS: "${ACKIFY_CHECKSUM_MAX_REDIRECTS:-3}"
|
||||
ACKIFY_CHECKSUM_ALLOWED_TYPES: "${ACKIFY_CHECKSUM_ALLOWED_TYPES:-}"
|
||||
ACKIFY_IMPORT_MAX_SIGNERS: "${ACKIFY_IMPORT_MAX_SIGNERS:-500}"
|
||||
ACKIFY_TELEMETRY: "${ACKIFY_TELEMETRY:-false}"
|
||||
depends_on:
|
||||
ackify-migrate:
|
||||
condition: service_completed_successfully
|
||||
|
||||
@@ -68,6 +68,7 @@ services:
|
||||
ACKIFY_CHECKSUM_MAX_REDIRECTS: "${ACKIFY_CHECKSUM_MAX_REDIRECTS:-3}"
|
||||
ACKIFY_CHECKSUM_ALLOWED_TYPES: "${ACKIFY_CHECKSUM_ALLOWED_TYPES:-}"
|
||||
ACKIFY_IMPORT_MAX_SIGNERS: "${ACKIFY_IMPORT_MAX_SIGNERS:-500}"
|
||||
ACKIFY_TELEMETRY: "${ACKIFY_TELEMETRY:-false}"
|
||||
depends_on:
|
||||
ackify-migrate:
|
||||
condition: service_completed_successfully
|
||||
|
||||
@@ -306,6 +306,41 @@ if [ "$ENABLE_OAUTH" = false ] && [ "$ENABLE_MAGICLINK" = false ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# ==========================================
|
||||
# Telemetry Configuration
|
||||
# ==========================================
|
||||
print_header "📊 Anonymous Telemetry"
|
||||
echo ""
|
||||
print_info "Ackify can collect anonymous usage metrics to help improve the project."
|
||||
echo ""
|
||||
print_info "What is collected (business metrics only):"
|
||||
print_info " - Number of documents created"
|
||||
print_info " - Number of signatures/confirmations"
|
||||
print_info " - Number of webhooks configured"
|
||||
print_info " - Number of email reminders sent"
|
||||
echo ""
|
||||
print_info "What is NOT collected:"
|
||||
print_info " - No personal data"
|
||||
print_info " - No user information"
|
||||
print_info " - No document content"
|
||||
print_info " - No email addresses"
|
||||
print_info " - No IP addresses"
|
||||
echo ""
|
||||
print_info "This telemetry is:"
|
||||
print_success " ✓ GDPR compliant"
|
||||
print_success " ✓ Non-intrusive (background only)"
|
||||
print_success " ✓ Helps us improve Ackify for everyone"
|
||||
echo ""
|
||||
|
||||
ENABLE_TELEMETRY=false
|
||||
if prompt_yes_no "Enable anonymous telemetry to help improve Ackify?" "y"; then
|
||||
ENABLE_TELEMETRY=true
|
||||
print_success "Thank you for helping improve Ackify!"
|
||||
else
|
||||
print_info "Telemetry disabled. You can enable it later in .env (ACKIFY_TELEMETRY=true)"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# ==========================================
|
||||
# Admin Configuration
|
||||
# ==========================================
|
||||
@@ -498,6 +533,16 @@ APP_DNS=${APP_DNS}
|
||||
EOF
|
||||
fi
|
||||
|
||||
# Telemetry configuration
|
||||
cat >> .env <<EOF
|
||||
# ==========================================
|
||||
# Telemetry Configuration
|
||||
# ==========================================
|
||||
# Anonymous usage metrics (GDPR compliant, no personal data)
|
||||
ACKIFY_TELEMETRY=${ENABLE_TELEMETRY}
|
||||
|
||||
EOF
|
||||
|
||||
print_success ".env file created successfully"
|
||||
echo ""
|
||||
|
||||
@@ -548,6 +593,13 @@ else
|
||||
fi
|
||||
echo ""
|
||||
|
||||
if [ "$ENABLE_TELEMETRY" = true ]; then
|
||||
print_success "Telemetry: Enabled (thank you!)"
|
||||
else
|
||||
print_info "Telemetry: Disabled"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# ==========================================
|
||||
# Next Steps
|
||||
# ==========================================
|
||||
|
||||
Reference in New Issue
Block a user