Shared responsibility model for the Connect APIs
Shared responsibility models clarify security responsibility between a platform provider and developers building integrations that use that platform.
Building an integration that connects to Canva means that developers share the same users as Canva. As a result, developers must take some responsibility to protect Canva user data and privacy, which can differ from other Software as a Service (SaaS) product expectations. Canva, as a provider, takes some responsibility, but not all of the security responsibility.
Read through the following sections to understand what are your security responsibilities, and what are Canva's responsibilities.
We reserve the right to amend this page from time to time in our sole discretion.
Integration concepts
Integrations and data flow Integrations allow third-party app developers to extend key Canva capabilities off-platform. As a result, integrations allow Canva to share data with third parties. This data sharing happens even when a user isn't actively designing in Canva. The flow of data from Canva through to third parties is controlled by integration architecture. The essential component for this data flow is the Canva Connect APIs.
Connect APIs
The Connect APIs use resource-oriented URLs. They accept requests with parameters, and return JSON responses with standard HTTP response codes. For more information, see API requests and responses.
Integration architecture Some examples of integration architectures built with the Connect APIs can include, but aren't limited to:
- Keeping Canva in sync with cloud storage and content management apps.
- Enabling collaboration and communication with different platforms.
- Embedding Canva into project management workflows.
Consider your integration architecture, such as where customer data flows, where that data is stored, and where potential vulnerabilities may emerge. There could be implications for your security responsibilities.
Security responsibilities
Vulnerability management & disclosure
Minimize security incidents through early identification of vulnerabilities, and timely remediation. This includes notifying stakeholders of vulnerabilities. Provide a framework or policy to meet the challenge of a constantly changing vulnerability landscape.
Monitoring and alerting
Logging
Incident response
As the number of security vulnerabilities and exploits increase, its crucial to develop, maintain, and test effective measures to detect and respond to unauthorized system and data access.
Network security
Implement appropriate network security controls to prevent threat actors from accessing sensitive information when requests move between services.
Infrastructure security
Maintain the integrity, confidentiality, and availability of underlying infrastructure, and provide a safe computing environment.
Disaster recovery
Data, source code, and other business assets support integrations and related system functionality. It's important to have mechanisms that minimize the impact of accidental or malicious disasters on essential system functionality.
Trust and safety
User identity and access management
Denial of service prevention
Abuse prevention
Integration
Authentication of requests to the integration
Ensure that every request made to the integration is sufficiently authenticated.
Authorization of requests to the integration
Ensure that every request made to the integration is sufficiently authorized.
Input validation and output encoding
Ensure sufficient input validation and output encoding is applied within the integration.
Business logic
Ensure that the integration doesn't expose ways of using a legitimate process flow of an integration in a way that results in a negative consequence.
Integration framework
Ensure the frameworks and third-party libraries used to build integrations don't include security bugs, and that fixes are implemented according to the Canva API and App Developer Terms.
Tenant security
Data storage
Appropriately manage data throughout its lifecycle, from data entry to data destruction.
Secure development activities
Secure development activities are functional practices that, when applied appropriately, can achieve the following:
- Reduce released software vulnerabilities.
- Reduce the potential impact of undetected or unaddressed exploitation of vulnerabilities.
- Address the root causes of vulnerabilities to prevent recurrences.