Gate a Canva Connect release on authorization, review eligibility, data controls, async recovery, observability, and rollback evidence. Use when promoting a backend integration or enabling a new Canva operation. Trigger with: "Canva production checklist", "release Canva integration", "Canva go-live review".
Installs into .claude/skills of the current project.
Are you the author of Canva Prod Checklist?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/jeremylongshore-canva-prod-checklist-a393fdc7)
---
name: canva-prod-checklist
description: 'Gate a Canva Connect release on authorization, review eligibility, data controls, async recovery, observability, and rollback evidence. Use when promoting a backend integration or enabling a new Canva operation. Trigger with: "Canva production checklist", "release Canva integration", "Canva go-live review".'
allowed-tools: Read, Grep, Write, Edit
version: 2.0.0
argument-hint: '[release-id-and-environment]'
model: inherit
effort: high
license: MIT
author: Jeremy Longshore <jeremy@intentsolutions.io>
tags:
- saas
- canva
- production
- operations
compatibility: 'Requires an exact release artifact, controlled production integration, current feature-status evidence, and rollback authority.'
---
# Canva Production Readiness Gate
## Overview
Make go-live an evidence decision tied to an immutable artifact. Preview features, broad scopes, unsafe callback hosts, ambiguous jobs, or unverifiable rollback keep the release closed.
## Prerequisites
- Release digest, configuration version, owner, and change scope
- Production integration, exact redirects, explicit scopes, and feature statuses
- Test receipts, migrations, observability, data policy, incident plan, and rollback
## Instructions
### Step 1: Verify identity and trust
Use Read and Grep to confirm exact artifact, environment, integration ID, callback hosts, backend-only secrets, CI event boundaries, and operator ownership.
### Step 2: Verify authorization
Review minimum explicit scopes, tenant/resource checks, capabilities, consent changes, disconnect cleanup, and token-refresh serialization.
### Step 3: Verify provider contracts
Pin current OpenAPI/changelog, identify deprecated and preview APIs, and confirm public-review eligibility. Canva states public integrations using preview features cannot pass review.
### Step 4: Verify operations
Prove operation identity, bounded retry, endpoint/user queueing, async job reconciliation, webhook idempotency if used, and partial-failure cleanup.
### Step 5: Verify data and telemetry
Prove content/credential classification, retention/deletion, URL handling, log redaction, low-cardinality metrics, alert ownership, and debug-bundle expiry.
### Step 6: Exercise failure and rollback
Use Write or Edit to record mocked failures, protected read-only integration proof, migration recovery, rollback command/path, and post-rollback reconciliation.
### Step 7: Approve or refuse
Record exact evidence, approver, residual risks, and activation steps. Refuse if any required fact is inferred rather than proven.
## Authentication
Canva Connect calls use Bearer access tokens obtained by a backend through OAuth 2.0 Authorization Code with SHA-256 PKCE. Request explicit least-privilege scopes, keep client secrets and tokens out of browser-visible state, and serialize refresh so the replacement single-use refresh token is stored atomically.
## Tool Discipline
Use Read and Grep for discovery and evidence. Use Write or Edit only for the approved artifact, code, configuration, test, or receipt described by this workflow; do not make an unapproved Canva-side change.
## Output
- Scoped decision or implementation artifact
- Redacted operation and validation receipt
- Failure, rollback, and follow-up ownership record
## Examples
A public release using a preview webhook path is refused. The team ships the non-preview core after exact-head tests and keeps the preview feature in a separate non-public experiment.
## Error Handling
| Failure | Response |
| --- | --- |
| Preview status is unclear | Treat the feature as ineligible until confirmed |
| Rollback was not exercised | Do not approve production |
| Scope set exceeds features | Reduce scopes and obtain new consent where required |
| Health proof mutates content | Replace it with a protected non-mutating read |
## Resources
- [First-party source notes](references/official-docs.md)
- [Creating integrations](https://www.canva.dev/docs/connect/creating-integrations/)
- [Connect security](https://www.canva.dev/docs/connect/guidelines/security/)