evernote-prod-checklist
Installation
SKILL.md
Evernote Production Checklist
Overview
Comprehensive checklist for deploying Evernote integrations to production, covering API key activation, security hardening, rate limit handling, monitoring, and go-live verification.
Prerequisites
- Completed development and testing in sandbox
- Production API key approved by Evernote (requires review process)
- Production infrastructure provisioned
Instructions
API Key & Authentication
- Production API key requested and approved by Evernote
-
EVERNOTE_SANDBOX=falsein production config - Consumer key and secret stored in secrets manager (not env files)
- OAuth callback URL uses HTTPS on production domain
- Token expiration tracking implemented (
edam_expires) - Token refresh/re-auth flow tested end-to-end
Security
- Access tokens encrypted at rest (AES-256-GCM)
- CSRF protection on OAuth flow
- API credentials not in source control (
.envin.gitignore) - Log output redacts tokens and PII
- Input validation on all user-supplied content (ENML sanitization)
- Rate limit handling prevents API key suspension
Rate Limits & Performance
- Exponential backoff on
RATE_LIMIT_REACHEDerrors - Minimum delay between API calls (100-200ms)
- Response caching for
listNotebooks()andlistTags()(5-10 min TTL) -
findNotesMetadata()used instead offindNotes()for listings - Batch operations use sequential processing with delays
Monitoring & Alerting
- Health check endpoint verifies Evernote API connectivity
- Metrics tracked: API call count, latency, error rate, rate limits
- Alerts configured for rate limits, auth failures, and high error rates
- Structured logging with correlation IDs
- Quota usage monitoring with threshold alerts (75%, 90%)
Data Integrity
- ENML validation before every
createNote/updateNotecall - Note titles sanitized (max 255 chars, no newlines)
- Tag names validated (max 100 chars, no commas)
- Resource hashes verified (MD5 match)
- Sync state (USN) tracked and persisted for incremental sync
Deployment
- Production Docker image built with multi-stage build
-
NODE_ENV=productionset in container - Graceful shutdown handles in-flight API calls
- Rollback plan documented and tested
- Deployment verification script runs post-deploy
Verification Script
#!/bin/bash
set -euo pipefail
echo "Verifying Evernote production deployment..."
# 1. Health check
curl -sf "$APP_URL/health" | jq '.evernoteApi' | grep -q '"connected"'
echo " Health check: PASS"
# 2. Create test note
GUID=$(curl -sf "$APP_URL/api/test-note" | jq -r '.guid')
echo " Note creation: PASS (GUID: $GUID)"
# 3. Clean up test note
curl -sf -X DELETE "$APP_URL/api/notes/$GUID"
echo " Cleanup: PASS"
echo "All checks passed."
For the complete checklist details and verification scripts, see Implementation Guide.
Output
- Production readiness checklist (API keys, security, performance, monitoring)
- Verification script for post-deployment testing
- Security audit checklist for credential and token management
- Monitoring setup verification
Error Handling
| Error | Cause | Solution |
|---|---|---|
INVALID_AUTH in production |
Using sandbox token with production endpoint | Verify EVERNOTE_SANDBOX=false matches production key |
| Verification script fails | Service not healthy after deploy | Check logs, rollback if needed |
| Rate limits on launch | Burst of API calls at startup | Add startup delay, warm caches gradually |
PERMISSION_DENIED |
Production key missing permissions | Contact Evernote developer support |
Resources
Next Steps
For version upgrades, see evernote-upgrade-migration.
Examples
Go-live checklist: Walk through each section, check off items, run the verification script, and sign off with the team before switching DNS to the production deployment.
Security audit: Review encrypted token storage, verify log redaction, confirm CSRF protection, and test token expiration handling before the production launch.
Weekly Installs
1
Repository
jeremylongshore…ins-plusGitHub Stars
2.0K
First Seen
Apr 4, 2026
Security Audits