Halloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan NowHalloween DealsAmazon USOctober picks are moving - compare before checkoutAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk10 min

How to Move a Heroku or Vercel App to Self-Hosted Coolify on a VPS (2026 Guide)

Learn how to migrate a Heroku or Vercel application to self-hosted Coolify on your own VPS, including requirements, staging, data transfer, DNS cutover, security, backups, and total-cost trade-offs.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

You can move a Heroku or Vercel project to Coolify on your own VPS, but the migration is an infrastructure handover rather than a simple redeploy. Coolify supplies a self-hosted, PaaS-style control plane; Docker runs your application, database, and service containers on servers that you provide and operate.

The safest path is to inventory the existing platform, reproduce its build and runtime behavior in a staging resource, migrate data, test backups and recovery, and change DNS only after the new deployment is healthy. The Coolify software has no recurring self-hosted license fee, but you become responsible for the server, security, updates, monitoring, backups, and incident recovery.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What changes when you leave Heroku or Vercel

Heroku and Vercel hide much of the host platform. Their managed services choose and maintain the underlying compute, networking, operating-system layer, and much of the deployment plumbing. With self-hosted Coolify, those responsibilities move to your team.

Coolify coordinates deployments and manages resources through Docker, but it does not provide the underlying compute. The official architecture description is explicit: “The Coolify server does not relay your application traffic.” Your visitors connect to the servers where your workloads run, not through a hosted Coolify traffic proxy.

#1 Best Overall
Sale
GMKtec G3S Mini PC Intel N95 Processor (Up to 3.4GHz) 8GB RAM 256GB M.2 SSD | Mini Desktop Computer with VESA Mount for Office Home Business HTPC Proxmox, Dual 4K Display, WiFi 5, Gigabit Ethernet
  • 12th Intel Alder Lake N95 Processor – The GMKtec G3 S Mini PC is powered by the 12th Gen Intel N95 processor with 4 cores, 4 threads, 6MB cache and a burst frequency up to 3.4GHz. Compared with N100/N5105/N5100/N5095, the N95 delivers up to 36% overall performance improvement. Perfect for routine tasks, office work, and home entertainment, this compact mini desktop is more convenient than traditional bulky PCs.
  • 8GB RAM & 256GB SSD Storage – Pre-installed with 8GB DDR4 memory and a fast 256GB M.2 2242 SSD, the G3 S mini desktop offers quicker startup, smoother multitasking, and faster file transfers. Enjoy seamless performance whether you’re working on multiple applications, browsing, or streaming content.
  • Rich Interfaces & Connectivity – The G3 S mini computer comes equipped with USB 3.2 (up to 10Gbps), dual HDMI 2.0 (4K@60Hz), and a 3.5mm audio jack. With support for WiFi 5, Bluetooth 5.0, and Gigabit Ethernet (RJ45 1000MbE), it connects easily with monitors, projectors, printers, office equipment, and other peripherals, making it versatile for both home and business use.
  • Dual 4K Display Support – Featuring upgraded Intel UHD Graphics (up to 1000MHz), the G3 S supports 4K video playback and AV1 decoding for a smooth viewing experience. With dual HDMI outputs, you can connect two 4K@60Hz displays simultaneously, enabling efficient multitasking for work and entertainment.
  • GMKTEC WARRANTY - GMKtec offers a 3-year limited warranty (1 year replacement + 2 years parts replacement) for each mini PC, starting from the date of the purchase effective on all sales starting Oct. 2026. All defects due to design and workmanship are covered. With a professional after sales team always ready to attend to your needs, you can simply relax and enjoy your mini PC
  • You choose the infrastructure: VPS size, disk type, region, network access, and any additional servers.
  • You operate the control plane: installation, upgrades, SSH access, firewall policy, operating-system patching, and recovery for a self-hosted instance.
  • You operate the workloads: application containers, databases, persistent volumes, queues, scheduled jobs, and supporting services.
  • You own the data: backup frequency, off-server copies, retention, restore testing, and protection against accidental deletion or compromise.

This is why a successful migration reproduces more than source code. Build settings, runtime versions, secrets, domains, data stores, background processing, observability, and rollback behavior all need an explicit replacement.

Minimum VPS requirements and practical sizing

Coolify’s documented floor

Current 2026 self-hosted documentation states: “Coolify needs 2 CPU cores, 2 GB RAM, and 10 GB disk space to run.” Those figures describe the Coolify instance itself. They are a control-plane minimum, not a production recommendation for several applications, build jobs, databases, or monitoring services.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Size for the complete workload

Start with the resources consumed by every process that will share the VPS:

  • Application containers and their peak request load.
  • Build jobs, which can temporarily consume substantial CPU, memory, and disk.
  • Database memory, connection limits, indexes, write-ahead logs, and growth.
  • Docker images, build caches, application logs, and temporary files.
  • Persistent uploads and database backups, including the space needed for retention.
  • Metrics, log aggregation, queues, workers, and other observability or platform services.

Leave headroom for a deployment while the previous version is still running, traffic spikes, database maintenance, and recovery operations. A server that barely meets the 2-core, 2-GB, 10-GB control-plane floor can become unstable as soon as a build or database is added. There is no universal VPS size published for all workloads; calculate it from measured CPU, memory, storage, and bandwidth demand.

Prepare access and recovery before installation

Before installing, obtain a VPS with reliable SSH access and a supported Linux setup. Decide which DNS names will point to the server, how TLS certificates will be issued, and where off-host backups will live. Keep a recovery path that does not depend solely on the Coolify dashboard, such as provider console access and documented SSH credentials.

Coolify publishes an automated installer in this form:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash

Review the current server and installation guidance before executing any remote script. Restrict administrative access, apply operating-system updates, configure a firewall, and make sure you can recover the host before exposing production domains.

Rank #2
BOSGAME E5 11 Pro Mini PC, AMD Ryzen 5300U 4C/ 8T, Business Home Office PC | 8GB DDR4 256GB M.2 2280 SSD, 2.5 GbE Dual Lan Desktop Computers, Triple Displays 4K 60Hz, Wi-Fi 5, BT 5.0, Support Linux SSH
  • 【AMD Ryzen 3 5300U CPU: Outperforms N150 & 3500U】 BOSGAME E5 mini PC is powered by the TSMC 7nm FinFET architecture AMD Ryzen 3 5300U processor (4 Cores, 8 Threads, up to 3.8GHz boost, 6MB total cache). Compared to low-end Intel N150 or 3500U chips which only have 4 single threads and throttle under load, the 5300U delivers over 30% faster multi-core speed. Run 30+ browser tabs, large Excel sheets, and Zoom meetings simultaneously without system lag.
  • 【8GB DDR4 RAM & 256GB NVMe SSD Storage】 Installed with high-speed 8GB DDR4 dual-channel memory and a fast 256GB M.2 2280 SSD, eliminating slow boot times and application loading delays. To accommodate growing data requirements, the upgradeable hardware design features dual SODIMM slots that allow you to expand memory up to 64GB RAM, ensuring smooth operation during heavy multitasking.
  • 【High-Capacity Dual M.2 SSD Storage Expansion】 Never worry about running out of space for your business files. In addition to the pre-installed 256GB system drive, the motherboard houses an extra empty internal M.2 2280 NVMe PCIe 3.0 slot. This allows you to easily add a second solid-state drive for up to an additional 2TB of storage capacity (upgrades not included) without needing to remove or reinstall the original operating system.
  • 【Radeon 6-Core Graphics & Triple 4K Displays】 Integrated with official AMD Radeon Graphics (6 Graphics Cores, 1500 MHz frequency) for casual gaming, photo editing, and crisp 4K media decoding. Featuring 1x HDMI 2.0 port, 1x DisplayPort, and 1x Full-Function Type-C port, the E5 outputs true 4K@60Hz resolution to three monitors at once. This multi-screen setup eliminates constant window-switching for traders, programmers, and office workers.
  • 【Dual 2.5GbE LAN Ports for Advanced Networking】 Experience fast wired network transmission speeds up to 2500Mbps without lagging or buffering. The integration of dual 2.5 Gigabit Ethernet ports (powered by Realtek RTL8125 controller) makes this compact computer an exceptional hardware choice for tech enthusiasts. Easily configure it into software routers, hardware firewalls (pfSense, OpnSense), home NAS servers, or local homelabs.

Migration plan: from inventory to DNS cutover

Use a staged migration. Keep Heroku or Vercel serving the existing application until the replacement has passed functional, data, and recovery tests.

1. Inventory every project and dependency

Create a per-application record rather than assuming the repository is the whole deployment. Capture:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Build command, start command, buildpacks or framework detection, and runtime version.
  • Environment variables, encrypted secrets, certificates, and third-party credentials.
  • Custom domains, redirects, DNS records, TLS behavior, and any nonstandard ports.
  • Database engine, version, extensions, schemas, connection strings, and migration process.
  • Persistent files, uploads, object storage, caches, queues, workers, and scheduled jobs.
  • Webhooks, outbound email, payment callbacks, authentication callbacks, and allow-listed IP addresses.
  • Health checks, log destinations, metrics, alert thresholds, and the rollback trigger.

Separate values that are safe to store as configuration from secrets that must be entered into Coolify’s secret or environment-variable settings. Do not commit production credentials to the repository while adapting deployment files.

2. Provision and secure the VPS

Create the server with enough capacity for the full workload, not just the documented Coolify minimum. Set up SSH keys, disable unnecessary login paths, apply current operating-system updates, and define inbound firewall rules. Permit only the ports required for administration, web traffic, and any explicitly needed service access. Arrange off-host backup storage before the first production write.

Decide whether the database will run on the same VPS, on another server managed through Coolify, or as an external managed service. Co-locating everything can reduce network complexity but couples application, database, and control-plane failures to one host.

3. Install Coolify and connect source control

Install Coolify on the secured server, sign in, and connect the Git provider used by the project. Coolify supports GitHub, GitLab, Bitbucket, and Gitea integrations. It can deploy from a Dockerfile, Docker Compose configuration, Nixpacks, Railpack, or a prebuilt container image.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Choose the deployment method that most faithfully reproduces the current application. A Dockerfile gives explicit control over operating-system packages and runtime versions. Compose is useful when the application includes multiple cooperating containers. Buildpack-style methods can be convenient, but verify that their detected build and start behavior matches the old platform.

4. Build a staging resource

Create a separate staging application or environment in Coolify. Reproduce nonproduction variables first, then add production-like services and volumes. Define health checks that test readiness rather than merely checking that a process has opened a port.

Rank #3
Beelink SER5 MAX Mini Pc,AMD Ryzen 7 7735U (8C/16T,up to 4.75GHz),Mini Computer with 24GB LPDDR5 RAM/500GB M.2 2280 SSD,Micro Pc Support 4K FPS,WiFi6/BT5.4/2.5G LAN/Home/Office
  • 【MAX 7735U High Performance 】Powered by the AMD Ryzen 7 7735U (8-Core, 16-Thread, boost up to 4.75GHz), this Beelink SER5 MAX mini PC delivers robust performance for daily office tasks, including spreadsheet editing, PPT creation, email management, coding and web browsing. It effortlessly handles photo and video editing via PS, PR and Lightroom, and runs popular esports titles such as LoL, CSGO and DOTA 2 at excellent settings.
  • 【High‑Speed Memory & Storage】 Equipped with 24GB high-speed LPDDR5 RAM and a blazing-fast 500GB M.2 2280 PCIe 4.0 SSD, this BEELINK 7735U MINI PC supports seamless heavy multitasking. It features expandable storage up to 8TB, letting you store massive project archives and local files without worry.
  • 【4K Triple Display & Radeon 680M Graphics】 Built-in AMD Radeon 680M Graphics (12-Core, 2200MHz) brings outstanding graphic performance for design work and buttery-smooth 4K HDR video playback. This BEELINK SER5 MINI PC supports triple 4K monitors via HDMI, DP and USB-C port, allowing you to run trading dashboards, spreadsheets and design drafts side-by-side to boost your productivity.
  • 【Cooling & Full Connectivity】 This BEELINK SER5 7735U MINI PC adopts an upgraded dual‑cooling system with heatsink and cooling fan that boosts heat dissipation by 19% while keeping noise below 32dB for quiet operation. Equipped with WiFi 6, Bluetooth 5.4 and 2.5G RJ45 Ethernet port, it delivers stable, lag‑free connections ideal for office work, home media and home‑server use.
  • 【Lifetime Technical Support】Ryzen 7 mini pc Package Included:1* Beelink Ser5 7735U Mini PC,1* HDMI Cables( 100cm),1* Power adapter,1* User manual,1* Mounting bracket.If you want to set up automatic startup,please contact us.All of our mini pc obtained FCC,CE ROSH Certifications.We Offer 1 Year Free Warranty,and 7 Days/24 Hours Serving,and lifetime technical issue assistance without worrying about quality,just email to our customer service team.

Run at least one clean build without relying on a local cache. Confirm that the image starts after a host reboot and that the application can reach its database, queue, object storage, email service, and external APIs. Check file permissions and volume mount paths; ephemeral container filesystems are not a substitute for persistent storage.

5. Validate behavior and operations

Test the complete request and job paths:

  • HTTP responses, redirects, compression, static assets, and error pages.
  • Database migrations, reads, writes, transactions, and connection-pool behavior.
  • Background workers, cron schedules, queue retries, and idempotency.
  • Outbound email, webhooks, OAuth callbacks, payment notifications, and other integrations.
  • TLS issuance and renewal, domain routing, and any required DNS records.
  • Application logs, container logs, metrics, alerts, and disk-usage monitoring.
  • Backup creation, an actual restore to an isolated location, and documented recovery time.

Test failure cases deliberately: stop a container, exhaust a staging volume, deploy a deliberately bad image, and reboot the VPS. Record the exact commands and dashboard actions needed to recover.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

6. Migrate persistent data

Use an export/import or replication method appropriate to the database engine and application. The database’s consistency requirements determine whether a live copy is safe. For systems with ongoing writes, schedule a final write freeze, run the last export or replication catch-up, verify row counts and checksums where practical, and then point the application at the new data store.

Move uploaded files and other durable objects separately from the database. Confirm ownership, permissions, content types, and URLs after the copy. Keep the original data untouched until the new deployment has been observed successfully.

7. Cut over DNS and retain rollback

Lower DNS time-to-live ahead of the planned change when your DNS provider permits it, but remember that resolvers can cache records beyond the stated TTL. At cutover, switch the relevant A, AAAA, CNAME, or provider routing record, then monitor requests from multiple networks.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Watch error rates, latency, logs, queue depth, database connections, certificate status, and business transactions. Keep the old platform available and writable only according to your consistency plan. Define a rollback condition before the change; if it is met, restore the prior DNS route and prevent split-brain writes. Do not declare success until caches have expired and the new system has passed a full observation window.

How deployment choices map to existing applications

Dockerfile

Use a Dockerfile when the current platform depends on a particular language runtime, system package, build tool, or process layout. Pin versions where reproducibility matters, expose the application port expected by the deployment, and ensure the container receives configuration through environment variables rather than baked-in secrets.

Docker Compose

Compose suits applications that require multiple services, such as an application plus a worker or a database. Define service dependencies, networks, health checks, volumes, and restart behavior explicitly. Treat database volumes as data assets that need independent backup and restore procedures.

Rank #4
GMKtec Mini PC Computer, G10 Ryzen 5 3500U (Beats N150/4300U/3200U), 16GB RAM 512GB SSD 2.5GbE NIC LAN Desktop Office Home Business HTPC, Triple 4K Display, WiFi, BT, USB-C, DP, Type-C PD, HDMI 2.1
  • MINI PC COMPUTER OFFICE LIGHT GAMING - GMKtec Nucbox G10 Series is equipped with the Ryzen 5 3500U, a 64-bit quad-core mid-range performance x86 mobile microprocessor. This processor is based on AMD's Zen+ microarchitecture and is fabricated on a 12 nm process. The 3500U operates at a base frequency of 2.1 GHz with a TDP of 15 W and a Boost frequency of 3.7 GHz. This APU supports up to 32 GB of dual-channel DDR4-2400 memory and incorporates Radeon Vega 8 Graphics operating at up to 1.2 GHz. 20% Multi-core Performance increase over previous Ryzen 3 models such as 4300U. 35% performance increase over the Intel N-series N95/N97/N150.
  • RYZEN 5 3500U vs RYZEN 3 4300U COMPARISON - Why Choose Ryzen 5 3500U: Better multi-threaded performance: More threads, better suited for multitasking and demanding applications. Better graphics: With Vega 8, it's superior for casual gaming, video playback, and GPU-intensive tasks. Overall higher performance: Higher boost clock and better ability to handle a variety of workloads, from light gaming to productivity tasks. So, if you're looking for a more balanced processor with stronger multitasking capabilities and better GPU performance, the Ryzen 5 3500U would be the clear choice.
  • 16GB DUAL CHANNEL DDR4 + 512GB SSD - Installed with DDR4 16GB SO-DIMM RAM Dual Channel (2x8GB) and a 512GB SSD, the Nucbox G10 mini pc supports memory expansion to 64GB RAM. Featured with Dual M.2 2280 PCIe 3.0 slots, supports dual storage slot expansion to 16TB SSD (2*8TB). (Upgrades not included) This model supports a configurable TDP-down of 12 W and TDP-up of 35 W.
  • UNLEASH RAW PERFORMANCE MODE 25W - Dominate demanding tasks with the AMD Ryzen 5 3500U processor. When switched to Performance Mode in the BIOS (press "Esc" key repeatedly during boot, save then exit), this mini PC delivers superior multi-core processing power, significantly outperforming Intel N-series chips in CPU-intensive applications, multitasking, and creative workloads.
  • MINI DESKTOP COMPUTER WITH TRIPLE DISPLAY SCREEN - Nucbox G10 integrates AMD Radeon Vega 8 1200 MHz GPU to deliver powerful graphics processing power to easily handle video editing, and playback, or casual gaming. And it can connect to 3 display screens simultaneously via HDMI 2.1 TMDS/ DPv1.4/ TYPE-C.

Nixpacks, Railpack, or prebuilt images

These options can shorten setup when the project follows a supported convention or an image is already built in a registry. Verify the resulting runtime, start command, system libraries, and generated ports. A build that succeeds is not proof that production behavior matches the old platform.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Self-hosted Coolify versus Coolify Cloud

The central choice is who operates the control plane, not whether your applications need servers. Both models require workload capacity that you provide or arrange.

Decision area Self-hosted Coolify Coolify Cloud
Control plane You install and run it on your infrastructure. Coolify manages the control plane.
Updates and maintenance Your team applies updates and handles failures. Coolify handles control-plane maintenance.
Application and database servers You provide and operate them. You still provide and operate workload servers.
Backup and recovery ownership You design, execute, and test backups and restores. Control-plane maintenance is delegated, but workload data protection remains your responsibility.
Coolify platform fee Listed as “Free Forever” for the software; infrastructure is extra. Listed starting at $5 per month for two connected servers, plus $3 per month for each additional server.
Operational trade-off Maximum control and no recurring Coolify license fee, with more security and operations work. Less control-plane work, with a recurring fee and continued responsibility for workload servers.

The cloud prices are current listed figures and can change; verify them before budgeting. Neither option removes the need to size compute, protect data, monitor applications, or plan for an outage.

Cost: compare total ownership, not the license line

Self-hosted software being free does not make the deployment cost-free. Build a monthly and annual estimate that includes:

  • VPS or cloud-server charges for control plane, applications, databases, workers, and staging.
  • Block storage, object storage, snapshots, and off-site backup retention.
  • Outbound bandwidth and any provider network fees.
  • Monitoring, log retention, alerting, and incident-management services.
  • Engineering time for patching, upgrades, database administration, security reviews, and restore tests.
  • Expected downtime, emergency capacity, and the cost of recovering from data loss or a compromised host.

Self-hosting can make infrastructure spending more predictable when utilization is steady, but it transfers operational risk to the team. A small VPS bill can be outweighed by an untested backup, an expired certificate, a full disk, or an engineer’s time during an overnight incident.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Security, backups, and ongoing operations

Secure the host and control plane

Keep the operating system and Coolify updated, limit SSH access, enforce strong authentication, and review firewall rules whenever a new service is added. Separate administrative and application credentials. Rotate secrets after migration and remove credentials that belonged only to the old platform.

Design backups that can be restored

Back up databases, persistent volumes, configuration, and critical secrets according to their recovery objectives. Store at least one copy away from the VPS and protect it from the same credentials used for day-to-day administration. A backup is only evidence of recoverability after a restore test has succeeded.

Monitor capacity and failures

Alert on CPU saturation, memory pressure, disk usage, failed deployments, certificate expiry, database health, backup age, and unusual error rates. Include the host and the workloads in the same incident view; a healthy Coolify dashboard does not prove that an application or database is healthy.

Common migration failures and fixes

  • The build passes but the container exits: compare the start command, listening port, runtime version, and required environment variables with the old deployment.
  • Data disappears after redeploy: attach and back up persistent volumes; do not store uploads or database files only in the writable container layer.
  • Jobs run twice or not at all: recreate scheduler and worker definitions, then verify time zones, locks, retries, and idempotency.
  • Webhooks fail after DNS changes: update callback allow-lists and TLS settings, and account for DNS caching during the transition.
  • The VPS runs out of space: inspect images, build caches, logs, database growth, and backup retention; add storage or move services before the disk reaches capacity.
  • Rollback causes inconsistent records: freeze writes or use replication with a defined cutover point so both platforms do not accept conflicting updates.

When self-hosted Coolify is a good fit

It is a strong fit when you want control over server location and software, can operate Linux and Docker, have a clear backup owner, and are comfortable treating infrastructure as part of the product. It is a poor fit when no one can patch the host, test restores, monitor capacity, or respond to a compromised server. In that case, a managed control plane or a fully managed application platform may reduce operational risk even if its recurring price is higher.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The migration is complete only when the new deployment is reproducible, observable, recoverable, and able to accept production traffic without relying on undocumented behavior from the old platform.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.