---
schema_version: "1"
id: dd5491e066487442ef4691bd37f561273fa75f67c97bb4a3bf03b3ac3455a293
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.7/policies-pdk-create-project-overview.md
canonical_url: https://docs.mulesoft.com/pdk/1.7/policies-pdk-create-project-overview
source_site: docs.mulesoft.com
content_type: documentation
content_hash: e017ce3d0641201781db917014f74012aeede6e2e04b077812bc49569b1f8fd5
description: MuleSoft Documentation Site
release: "1.7"
latest: false
---
---
product: Omni Gateway Policy Development Kit (PDK)
version: 1.7
---

# Creating a New Policy Project

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

The source code for Flex 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 Flex 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.7/policies-pdk-create-project)

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