> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ghostable.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Validation & History

> Edit validation rules, run checks from a linked project folder, and inspect project or environment history in the app.

<Card title="Read the shared validation model" icon="check" href="/fundamentals/v2/security-and-operations/validation-rules">
  Validation uses the same `.ghostable` schema files across Desktop and CLI.
</Card>

## Project Validation

The Project window includes a **Validation** section that reads the linked local folder and loads
the project's Ghostable schema files.

From this view you can:

* confirm whether a folder is linked,
* see schema coverage,
* inspect environment-specific override files,
* run validation for a selected environment,
* review validation results in a modal.

<Note>
  Validation requires a linked local folder. If the project is not linked yet, Desktop points you
  back to Project Settings first.
</Note>

{/* ghostable:screenshot-output desktop-validation-project-overview:start */}

<img className="block dark:hidden w-full" src="https://mintcdn.com/ghostable/BOl2AUG1DFr1k8ob/images/generated/screenshots/ghostable-desktop/project-validation-overview-light.png?fit=max&auto=format&n=BOl2AUG1DFr1k8ob&q=85&s=2ace84266e2412be5596baf4c9cf82e8" alt="Ghostable desktop project validation view showing the global schema summary, environment overrides, and the run validation action." width="2080" height="1384" data-path="images/generated/screenshots/ghostable-desktop/project-validation-overview-light.png" />

<img className="hidden dark:block w-full" src="https://mintcdn.com/ghostable/BOl2AUG1DFr1k8ob/images/generated/screenshots/ghostable-desktop/project-validation-overview-dark.png?fit=max&auto=format&n=BOl2AUG1DFr1k8ob&q=85&s=e6c26156915563afc4abab2f4c0256e3" alt="Ghostable desktop project validation view showing the global schema summary, environment overrides, and the run validation action." width="2080" height="1384" data-path="images/generated/screenshots/ghostable-desktop/project-validation-overview-dark.png" />

## Built-In Rules Editor

Desktop can edit the same `.ghostable` schema files used by the CLI without requiring you to hand
edit YAML.

For project-wide rules:

1. Open the project's **Validation** section.
2. In **Global Schema**, choose **Open in Rules Editor**.
3. If the project does not have a schema yet, use **Auto-Generate** first to create
   `.ghostable/schema.yaml`.

Inside the Rules Editor you can:

* add keys with suggestions from the current environment,
* add common rule templates from the **Add Rule** menu,
* edit parameterized rules such as `min`, `max`, `in`, `regex`, `starts_with`, and `ends_with`,
* remove keys or rules and save directly back to the schema file.

<Note>
  Desktop writes to the same `.ghostable/schema.yaml` and `.ghostable/schemas/*.yaml` files the
  CLI reads. If you prefer raw YAML, the app also offers **Open with External Editor**.
</Note>

{/* ghostable:screenshot-output desktop-validation-rules-editor:start */}

<img className="block dark:hidden w-full" src="https://mintcdn.com/ghostable/BOl2AUG1DFr1k8ob/images/generated/screenshots/ghostable-desktop/rules-editor-global-schema-light.png?fit=max&auto=format&n=BOl2AUG1DFr1k8ob&q=85&s=d6b00d32f93baef0074d25f3cf7a1ab3" alt="Ghostable desktop Rules Editor window showing the global schema with add key and add rule controls." width="2080" height="1532" data-path="images/generated/screenshots/ghostable-desktop/rules-editor-global-schema-light.png" />

<img className="hidden dark:block w-full" src="https://mintcdn.com/ghostable/BOl2AUG1DFr1k8ob/images/generated/screenshots/ghostable-desktop/rules-editor-global-schema-dark.png?fit=max&auto=format&n=BOl2AUG1DFr1k8ob&q=85&s=8fc1e018c5c54498225a7bee8d6fa6f3" alt="Ghostable desktop Rules Editor window showing the global schema with add key and add rule controls." width="2080" height="1532" data-path="images/generated/screenshots/ghostable-desktop/rules-editor-global-schema-dark.png" />

## Global Rules vs Environment Overrides

Use the **Global Schema** for rules every environment should share. Use an **Environment Override**
only when one environment needs different or stricter validation.

For environment-specific rules:

1. Open the target environment.
2. Open its **Validation** section.
3. In **Environment Override**, choose **Auto-Generate** if no override exists yet, or **Open in
   Rules Editor** if it already does.
4. Save the override to `.ghostable/schemas/<environment>.yaml`.

The override file applies only to that environment and takes precedence over the global schema for
the keys it defines.

The Project window's **Validation** view also lists discovered override files so you can inspect
coverage and reopen them in the Rules Editor later.

{/* ghostable:screenshot-output desktop-validation-environment-override:start */}

<img className="block dark:hidden w-full" src="https://mintcdn.com/ghostable/BOl2AUG1DFr1k8ob/images/generated/screenshots/ghostable-desktop/environment-validation-overview-light.png?fit=max&auto=format&n=BOl2AUG1DFr1k8ob&q=85&s=78489d1bc3fe12bb511e48dfb09c6c8d" alt="Ghostable desktop environment validation view showing the environment override section and validation actions." width="2440" height="1344" data-path="images/generated/screenshots/ghostable-desktop/environment-validation-overview-light.png" />

<img className="hidden dark:block w-full" src="https://mintcdn.com/ghostable/BOl2AUG1DFr1k8ob/images/generated/screenshots/ghostable-desktop/environment-validation-overview-dark.png?fit=max&auto=format&n=BOl2AUG1DFr1k8ob&q=85&s=af21921838223aa30077176fa4704d79" alt="Ghostable desktop environment validation view showing the environment override section and validation actions." width="2440" height="1344" data-path="images/generated/screenshots/ghostable-desktop/environment-validation-overview-dark.png" />

## Activity and History

Desktop exposes history in three places:

* **Organization Activity** for organization-wide events.
* **Project Activity** for project-level changes.
* **Environment Activity** and variable detail history for environment-level work.

Variable history is especially useful when you need to inspect or restore a prior value version from
the detail pane.

Context activity shows up here too. For example, you can see when a teammate:

* updates a variable note,
* adds or deletes a variable comment,
* updates a variable value with a reason for change,
* approves or rejects a variable promotion request.

These activity entries stay metadata-only. They identify the actor, variable, project, or
environment involved, but they do not expose the decrypted note, comment, or reason in the activity
feed itself.

## Continue

<CardGroup>
  <Card title="Link a local folder" icon="folder-open" href="/desktop/v1/local-integration/link-a-folder">
    Connect the project folder before you rely on validation and export features.
  </Card>

  <Card title="Manage variables" icon="key" href="/desktop/v1/daily-work/environments-and-variables">
    Return to the environment guide for the main editing workflow.
  </Card>
</CardGroup>
