Sketch Private Cloud vs self-hosted Penpot

Sketch Private Cloud moves hosting closer to you, but the vendor still operates it. Self-hosted Penpot puts the server, updates and login policy under your control, with the rebuild and operations work that comes with it.

On this page

Should a security-conscious design team choose Sketch Private Cloud or self-hosted Penpot?

Start with one question: who must control the servers that hold your interface files? Sketch Private Cloud is a vendor-operated option, so the vendor runs the environment and sets its maintenance schedule. Self-hosted Penpot is open source under the Mozilla Public License 2.0 and runs on infrastructure your organization controls. For a security-conscious design team, that difference decides who patches the platform, who manages backups and encryption keys, and who answers when an auditor asks where design files live. This section frames the decision. The sections below cover data location, login options and the operating work each choice leaves with you.

Before comparing features, get written answers from Sketch on the Private Cloud deployment: the region or data center, whether the environment is dedicated to your organization, who holds administrative access, and how and when updates are applied. Ask whether you can approve upgrade windows and how your data is returned or deleted if you end the contract. With self-hosted Penpot, those answers come from your own change process. Penpot documents self-hosting with Docker Compose and an official Helm chart, so your team chooses the cluster, the region and the network boundary, and also owns patching, backups and monitoring. Confirm that your platform team has the capacity for that work before you commit.

Login is where the two options diverge most in day-to-day administration. Self-hosted Penpot supports email and password login by default, plus Google, GitHub and GitLab OAuth, generic OpenID Connect for single sign-on, and LDAP, so access can follow your existing directory and offboarding process. Check which login methods Sketch Private Cloud supports and whether it can enforce your identity provider policies, such as multi-factor authentication and session limits. In short, Private Cloud shifts operational work to the vendor, while self-hosted Penpot keeps the servers, updates and identity configuration in your hands. The rest of this page covers each area in turn.

What a control-focused constraint requires from a design tool

A design tool that stays under your control has to answer four questions: who runs the servers, who decides when updates land, which sign-in methods are allowed, and where design data physically sits. Sketch Private Cloud and self-hosted Penpot answer these differently, so each card lists what to confirm before you commit.

Who operates the server

With a vendor-hosted Private Cloud, the vendor or its hosting partner typically runs the infrastructure, so your team depends on its staffing, access controls and incident process. With self-hosted Penpot, your own team or implementation partner runs the Docker Compose or Helm deployment, which means you own patching, monitoring and restores. Ask Sketch in writing who holds administrative access to the Private Cloud environment and which staff can reach customer data.

Who controls updates

Self-hosting lets you choose when a Penpot release goes into production, test it against your plugins and integrations, and roll back if needed. Under a vendor-managed tier, upgrade timing and maintenance windows are set by the vendor, so ask whether you can defer a release, how much notice you get and whether a staging environment is included. Penpot's release history shows frequent point releases, so the update process matters as much as the version.

Which login methods are allowed

Self-hosted Penpot supports email and password login by default, plus Google, GitHub and GitLab OAuth, generic OpenID Connect for single sign-on, and LDAP. Your identity provider decides who can sign in and how quickly access is removed when someone leaves. Confirm with Sketch which SSO protocols and directory connectors the Private Cloud tier supports, whether SCIM provisioning is included, and whether enforced MFA is controlled by you or the vendor.

Where design data is stored

Penpot stores design data in PostgreSQL, which must be version 13 or later, and keeps uploaded objects on the filesystem or in S3-compatible storage such as MinIO. You choose the data center, the backup location and the storage encryption. For Sketch Private Cloud, ask for the hosting region, the locations of backups and replicas, whether any file metadata or telemetry leaves that region, and how deletion requests are honored.

Who can audit and exit

Your ability to produce evidence and to leave depends on the data formats and the logs you can reach. Penpot is open source, and its files work with open standards such as SVG, CSS, HTML and JSON, which eases export. Ask Sketch what audit logs are available to administrators, how long they are kept, whether they can be exported to your SIEM, and which file formats a full export returns.

How Sketch Private Cloud and self-hosted Penpot differ on control and data location

Server operation decides who installs, patches, monitors and recovers the system that holds your design files. With a vendor-hosted Private Cloud tier, the vendor runs the environment and your team's job is to verify the contract and the operating terms. With self-hosted Penpot, your platform team runs the stack. Penpot documents self-hosting with Docker Compose and an official Helm chart, and it needs PostgreSQL 13 or later, Valkey for websocket notifications, and either a filesystem or S3-compatible storage such as MinIO for uploaded objects. See the Penpot configuration guide for the settings involved.

  • Host ownership: Self-hosting means your staff or contractor provisions the nodes, chooses the cloud account or data center, and sets capacity.
  • Dependent services: PostgreSQL, Valkey and object storage each need backups, monitoring and patching on a schedule you set.
  • Recovery: You define backup frequency, restore testing and failover. Ask Sketch in writing for its recovery point and recovery time commitments.
  • Vendor access: Ask Sketch who holds administrative access to the Private Cloud environment, from which locations, and how that access is logged.

Compare the staff hours your team would need to run the full stack with the operations model Sketch documents for its tier, and get that model in writing.

Which self-hosted options fit when design files must stay on your servers

This table compares Penpot, draw.io and Excalidraw by the design work each one handles and the license behind it. Read the rows as a fit check: Penpot is the option for interface design files, while draw.io and Excalidraw cover diagrams and whiteboarding. The main takeaway is that only Penpot takes over Sketch-style interface design, and even then the team should test its own file set before committing.

CapabilityPenpotdraw.io and Excalidraw
Primary purposeInterface design and prototyping in a browserdraw.io for diagrams; Excalidraw for collaborative whiteboards and sketches
LicenseMozilla Public License 2.0draw.io is Apache 2.0; Excalidraw is MIT
Fit for Sketch-style interface workYesNo
Open standards in filesWorks with SVG, CSS, HTML and JSON, with native design tokensDiagram files and whiteboard scenes; not designed for component-driven UI work
Figma import pathFigma exporter plugin converts files to a .zip Penpot can importNot a design file import path; draw.io imports Visio and Lucidchart diagrams
Known trade-offThe Figma exporter does not support prototyping settings, so prototype flows need rebuildingLimited suitability for pixel-level UI specs and prototypes
Data locationSelf-hosted on servers you control, with PostgreSQL and object storage under your administrationdraw.io saves diagrams where the user chooses; Excalidraw collaboration is end-to-end encrypted
Confirm before choosingTest your own Sketch files, plugins and shared libraries on a staging instanceConfirm that the team's artifacts are diagrams or whiteboards, not interface masters

How to deploy self-hosted Penpot under your control

This sequence takes a design team from choosing a deployment path to a Penpot instance that runs on servers you control, with your own database, storage, login method and upgrade routine.

  1. Choose the deployment path

    Your platform team picks how Penpot will run: Docker Compose for a single host, the official Helm chart for a Kubernetes cluster, or one of the other documented routes such as OpenShift, Rancher, Elestio or TrueNAS. The choice depends on what your infrastructure team already operates and supports. Confirm with the team that will carry the pager which path they can patch and back up. You are done when the target platform and its owner are named in writing.

  2. Provision PostgreSQL 13 or later

    Your database team creates a PostgreSQL instance on version 13 or later, which is the minimum the Penpot configuration guide recommends. Penpot supports only PostgreSQL, so this is the single database engine you will operate. Set up encrypted connections, scheduled backups and restore tests under your existing standards. You are done when a test restore from backup succeeds and the database accepts connections only from the Penpot services.

  3. Add Valkey for websocket coordination

    Deploy Valkey alongside Penpot, because the platform uses it to coordinate websocket notifications between services. Keep it on the same private network as the application and restrict access to it. Confirm the connection settings in the Penpot configuration guide before you start the application containers. You are done when the application logs show a successful connection and two browser sessions receive live updates on the same file.

  4. Configure file storage

    Choose where uploaded objects such as images and assets are kept: the local filesystem or an S3-compatible store such as MinIO. A filesystem works for a single host, while object storage suits clustered deployments and gives you a separate backup target. Set the storage settings in the configuration guide and place the bucket or volume under the same backup policy as the database. You are done when an uploaded image persists after the application container restarts.

  5. Set the login method

    Decide how people sign in. Penpot uses email and password by default, and it also supports Google, GitHub and GitLab OAuth, generic OpenID Connect for single sign-on, and LDAP. For regulated teams, OpenID Connect or LDAP usually fits identity governance better, and you should confirm with your identity team which option ties into your directory and multi-factor policy. Disable self-registration if only directory users should have access. You are done when a test account from your directory signs in and an unlisted account is refused.

  6. Prepare air-gapped delivery if required

    If the environment has no internet access, plan the image transfer before installation. For Kubernetes, the kubeadm documentation describes listing and pulling control plane images in advance and pointing kubeadm init at a private registry with the image repository flag. Mirror the Penpot images and chart into your internal registry the same way, and verify each artifact against the publisher's checksums before it crosses the boundary. You are done when a cluster with no outbound route pulls every image from your internal registry.

  7. Plan upgrades against the release page

    Set up a recurring review of the Penpot GitHub releases page, read the changelog for each release, and test the new version in a staging copy with a restored database backup before production. Penpot publishes frequent point releases, so decide in advance who approves each upgrade and how a rollback works. Record each version you run in your change log. You are done when a staging upgrade completes from a production backup and the rollback path has been tested.

What moving existing Sketch files to Penpot involves

No Sketch importer is documented in the supplied facts, so a team moving to self-hosted Penpot should plan on rebuilding most artboards or moving them through indirect routes. The Figma exporter plugin, maintained by Kaleidos under MPL-2.0, converts Figma files into a .zip that Penpot can import, but it does not carry prototyping settings. That makes it a partial route for Figma-origin files and not a general path for Sketch documents. Before committing, confirm with the Penpot project and its current documentation whether a Sketch-specific import exists or is planned for your version.

The effort driver is the structure of the existing Sketch files, not their number of screens alone. Check how much of the design system lives in shared symbols, text and color styles, and components, and whether those assets map cleanly to Penpot components and design tokens. Penpot has native design tokens and works with open standards such as SVG, CSS and JSON, so teams with a disciplined token layer will usually find the rebuild simpler than teams whose styles are hard-coded per layer. Inventory these assets before estimating anything.

Run a pilot before deciding on a full migration. Choose one product area with a few flows, one component library and at least one prototype, then rebuild it in a self-hosted Penpot instance. Record which steps needed manual work, which assets lost fidelity and which plugins or prototyping links had to be redone. Use that log to set the scope of the remaining work and to write the quote request, asking the implementation partner to price the inventory, the rebuild and the handover separately.

Evidence to collect for a control review of the design platform

A control review of a design platform asks for the same core records whichever way the server is run. The cards below cover what the organization should hold for a self-hosted Penpot deployment, and each one names what to check before the review starts.

Deployed Penpot version and release source

Record the exact Penpot version running in production, the image or chart tag it came from, and the date it was deployed. Penpot publishes numbered releases on its GitHub releases page, so the record should show which release was installed and that it came from the official source rather than a rebuilt image. Keep the same record for staging and disaster recovery copies. Confirm which release your team tested before the production upgrade.

Identity configuration and access policy

Document which login methods are enabled, such as email and password, Google, GitHub, GitLab, generic OpenID Connect or LDAP, and who can use each one. Include the settings that control registration, the mapping between directory groups and workspace roles, and how departing staff lose access. Auditors usually want to see that the access policy matches the identity provider's own records, so export the configuration alongside the policy text.

Database and storage backup records

Keep dated evidence that PostgreSQL and the object store, whether filesystem or S3-compatible storage such as MinIO, are backed up and that the two backups belong to the same point in time. Record backup schedules, retention periods, encryption, storage location and the result of the most recent restore test. A backup that has never been restored is weak evidence, so schedule and log a restore test with the design team present.

Update and patch process

Write down how the team learns of a new Penpot release, how it tests the release, who approves it and how rollback works. Keep the change tickets, the test results and the date each upgrade reached production. Note also how base components are patched, including the Kubernetes or Docker host, PostgreSQL and Valkey, since these sit outside the Penpot release cycle.

Software integrity and package verification

Where packages or images are moved into an isolated network, keep records showing how they were obtained, how their checksums or signatures were verified and who approved the transfer. This matters most for regulated networks, where supply chain procurement controls, such as the verification of vendor software and patches in NERC CIP-013-2, expect this evidence. Confirm the verification method with your own compliance lead before the review.

Hosting responsibility and control ownership

Assign a named owner for each control, showing which controls the organization runs itself and which, if any, DeployOpen supports under a fixed-scope engagement or retainer. Show who controls the servers, the update schedule and the network boundary, and how that differs from a vendor-hosted Sketch Private Cloud arrangement. DeployOpen prepares these records and does not issue audit reports or certifications. The auditor decides whether the evidence is sufficient.

What do teams ask before choosing self-hosted Penpot over Sketch Private Cloud?

What drives the cost of self-hosting Penpot instead of paying for Sketch?

Self-hosted Penpot has no software license fee, so the cost is the infrastructure and the people who run it. Penpot is licensed under the Mozilla Public License 2.0, so the software itself is free to use. The recurring costs are the application server, a PostgreSQL database (version 13 or later is recommended), a Valkey service for websocket notifications, and object storage on the filesystem or an S3-compatible store such as MinIO. Costs rise with the number of editors, the volume of files, backup retention and high availability requirements. One-time costs include the initial deployment, file migration and rebuilding designs. Ask every provider to split its quote into these lines so you can compare them with Sketch's current fees.

What does Penpot's cloud pricing cost per editor and per year?

Penpot's pricing page, as read in October 2026, lists a Professional plan at $0, an Unlimited plan at $7 per editor per month capped at $175 per month, an Enterprise plan at $25 per member per month, and a Private Server option at $50k per year (Penpot pricing). These are Penpot's cloud list prices, not DeployOpen fees or Sketch prices. A self-hosted deployment avoids these subscription fees but takes on the server, database, storage and support costs described above. For a fair comparison, get Sketch's current per-editor and Private Cloud quotes in writing for the same headcount and period, then set them against the infrastructure and support lines in your own scope.

What must our internal team provide for a self-hosted Penpot deployment?

Your team provides the environment and the decisions. You need a container or Kubernetes host in your own data center or cloud account, since Penpot documents Docker Compose and an official Helm chart. You also need a PostgreSQL server at version 13 or later, storage for uploaded objects, and an identity owner who connects Google, GitHub, GitLab, OpenID Connect or LDAP. A backup owner must own restore testing, and someone must approve upgrades and access changes. Decide who receives security alerts and who signs off on new administrators. Ask any implementation partner to list these responsibilities in the written scope so that no task falls between teams.

Can our own engineers deploy self-hosted Penpot without outside help?

Yes, if your platform team already runs containers, PostgreSQL and single sign-on in production. Penpot's getting started guide covers Docker Compose, the official Helm chart, OpenShift, Rancher, Elestio and TrueNAS, so the main choice is the platform you already operate. Teams often underestimate the ongoing work: patching, backup restores, certificate renewal, storage growth and monitoring. Outside help makes sense when you need a fixed-scope deployment, hardening, integration with existing identity systems and documented evidence for an assessment. DeployOpen plans, implements, hardens, backs up and documents self-hosted platforms inside the client's infrastructure under a written scope, and offers retainers for ongoing upgrades and support.

How long does it take to deploy self-hosted Penpot?

The sources for this page do not give a deployment duration, so treat any number you hear as a claim to verify. The time depends on the platform you deploy to, whether an identity provider is already in place, how many files you migrate, and whether you need high availability and tested backups before go-live. A single-host pilot is a much smaller project than a multi-team rollout with single sign-on and recovery testing. Ask for a timeline in the written scope that lists each phase, its owner and its acceptance tests. DeployOpen agrees scope, deliverables and timelines in writing before work starts.

Does Sketch Private Cloud let us control updates and server location?

Confirm this with Sketch in writing before you decide, because the sources for this page do not describe Private Cloud's hosting model, update control or maintenance responsibilities. Ask who operates the servers, which region they run in, who applies security patches and feature releases, how much notice you receive, and whether you can defer an update during a freeze. Ask whether your administrators can see audit logs and whether you can restore data without vendor involvement. With self-hosted Penpot, your team decides when to upgrade between releases such as 2.18.1, 2.18.2 and 2.18.3, and you choose where the database and object storage sit.

How do login options compare between self-hosted Penpot and Sketch?

Self-hosted Penpot supports email and password login by default, along with Google, GitHub and GitLab OAuth, generic OpenID Connect for single sign-on, and LDAP, as documented in the Penpot configuration guide. You choose which methods to enable, so your own identity provider remains the source of access decisions. For Sketch, confirm in writing which sign-in methods, single sign-on protocols and directory integrations its Private Cloud tier and workspace plans support, and whether automated user provisioning is included. Ask how offboarding works on each product, since removing a user from your directory should end access quickly. Test every login path with a non-admin account before go-live.

How DeployOpen implements self-hosted Penpot under your constraints

DeployOpen plans, implements, integrates, hardens, backs up and documents self-hosted open-source platforms inside your own cloud accounts, data centers or air-gapped networks. For a Penpot deployment, we start from where your design files must live, who must control servers and updates, and which login method your identity team will operate.

How we scope

  • Written scope fixes hosting location, server ownership, update responsibility and login method before any build work starts.
  • We confirm which design teams, file volumes and external collaborators the Penpot instance must serve.
  • Engagements are fixed-scope, with deliverables and timelines agreed in writing before work begins.
  • We record PostgreSQL and object storage choices, including filesystem or S3-compatible storage such as MinIO, in the scope.

How we build

  • We deploy Penpot with Docker Compose or the official Helm chart, matching your existing container platform.
  • We configure email and password login, or OAuth or OpenID Connect single sign-on, against your identity provider.
  • We set up PostgreSQL 13 or later, Valkey for websocket coordination and backup-ready storage paths.
  • We test the Figma exporter workflow on sample files and document where rebuilds are needed.

How we hand over

  • You receive architecture notes, configuration records, access model and runbooks for installing and updating Penpot.
  • We document the update process, including how new Penpot releases are tested and promoted in your environment.
  • Backup and restore procedures are tested and handed over so your team can recover design data independently.
  • Evidence for your compliance assessments is prepared, while independent auditors or certification bodies issue any reports.

How we support

  • Ongoing support, upgrades and continuous testing are available as retainers after handover.
  • Security testing of the Penpot instance and its login integration can be scoped separately.
  • We agree with you in advance which patches and upgrades are applied in your environment and on what cadence.
  • Your team keeps control of servers, data and credentials throughout the engagement and after it ends.

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.