---
schema_version: "1"
id: 4f44e9098815c40843b18914e8c6158f4a30c537e6e6785864b3aebc646794ca
title: Creating a New Policy Project
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/pdk/1.8/policies-pdk-create-project-overview.md
canonical_url: https://docs.mulesoft.com/pdk/1.8/policies-pdk-create-project-overview
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 250bf314a0195d172cfcd2b6f51340214b92f0189c97667ec4aec798ceee96ea
description: MuleSoft Documentation Site
release: "1.8"
latest: false
---
---
product: Omni Gateway Policy Development Kit (PDK)
version: 1.8
---

# Creating a New Policy Project

> For the full documentation index, see: https://docs.mulesoft.com/llms.txt

The source code for Omni Gateway Policy Development Kit (PDK) policies is comprised of two versioned
parts:

- **Definition**: The policy’s metadata and configuration properties. The definition contains the
  policy’s parameters specified in `gcl.yaml` and the related JSON schema. It does not contain the
  code that runs at runtime.

- **Implementation**: The policy’s runtime behavior. It is the code (Rust, compiled to WebAssembly)
  that runs on Omni Gateway when the policy is applied. The implementation uses the definition so
  its configuration matches the schema’s parameters and publishes a separate Exchange asset that
  gateways use to execute the policy.

PDK enables you to version and manage the two parts of the policy source code using two project
models:

- Unified-Model (Regular) Policy: The policy definition and implementation are versioned together
  and share a version number. When you publish the policy, the definition and implementation are
  published together.

- Split-Model Policy: The policy definition and implementation are versioned separately. When you
  publish the policy, the definition and implementation are published separately. This enables you
  to update the policy implementation for bug fixes or performance updates without updating the
  policy definition.

To create a new policy project, choose the project model that best fits your needs:

- [Creating a Unified-Model Policy Project](https://docs.mulesoft.com/pdk/1.8/policies-pdk-create-project)

- [Creating a Split-Model Policy Project](https://docs.mulesoft.com/pdk/1.8/policies-pdk-create-project-split)
