Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Propsec

ccmdiccmdi1k downloads

Schema enforcement for frontmatter.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates9

Schema enforcement for Obsidian properties.

Define schemas based on templates or invariants in your vault, add custom reusable types, and more.

Usage

First, define a schema:

Once saved, violating notes such as this one...

...will be caught by the validation:

Why

Obsidian properties are freeform. Over time, things can break: you change the structure, use an old field, etc. This plugin validates notes against schemas you define. Your notes are untouched, but your vault's consistency becomes easier to manage.

Setup

  1. Open plugin settings
  2. Create a schema: click + Add Schema
  3. Set a query to target notes
  4. Add fields: name, type, required/optional
  5. Violations appear in the status bar/sidebar

Schema definition

The query field allows schema matching based on file paths and/or tags:

Query Matches
Journal Notes directly in Journal folder
Journal/* Notes in Journal and all subfolders
#book Notes with #book tag
Projects/* or #active Notes matching either condition

You can also narrow which notes a schema applies to with properties:

  • File name matches: Filter by file name (regex)
  • Modified after / Modified before: Filter by modification date
  • Created after / Created before: Filter by creation date
  • Has property / Missing property: Filter by property existence
  • Property conditions: Filter by property values (property-operator-value list)

Field types

Primitives

string, number, boolean, date, array, object, null, unknown

Custom types

Define reusable types in settings. A custom type is a named group of fields. Use them when multiple schemas share the same structure or you need nested validation.

Union types

Add multiple field entries with the same name but different types. For example, two entries for status with types string and null creates string | null.

Field flags

Fields can be flagged to be required (key is required) xor warn (soft requirement). There is also a unique constraint that prevents duplicate values on that field.

Finally, there are cross-field constraints (compare this field's value to another field) and conditional validation (only validate this field when another field matches a condition).

Constraints

Each field type supports optional constraints:

Type Constraints
string pattern (regex), minLength, maxLength
number min, max
array minItems, maxItems, contains (required values)
date min, max

Installation

Copy to .obsidian/plugins/ or install via BRAT.

94%
HealthExcellent
ReviewPassed
About
Validate frontmatter and file properties against user-defined schemas to catch structural errors without modifying notes. Create schemas targeted by path, tags or property filters; add custom reusable types, union types, required/warn/unique flags and cross-field constraints; view violations in the status bar or sidebar.
PropertiesDataStatus bar
Details
Current version
0.6.2
Last updated
Last week
Created
5 months ago
Updates
9 releases
Downloads
1k
Compatible with
Obsidian 1.7.2+
Platforms
Desktop, Mobile
License
0BSD
Report bugRequest featureReport plugin
Sponsor
GitHub Sponsors
Author
ccmdiccmdi
github.com/ccmdi
GitHubccmdi
  1. Community
  2. Plugins
  3. Properties
  4. Propsec

Related plugins

Virtual Content

Display markdown text (including dataview queries or Obsidian bases) at the bottom, top or in the sidebar for all notes which match a specified rule, without modifying them.

Korean Book Info

Crawl Yes24 to get book information.

Advanced Canvas

Supercharge your canvas experience. Create presentations, flowcharts and more.

Meta Bind

Make your notes interactive with inline input fields, metadata displays, and buttons.

Tracker

Track occurrences and numbers in your notes.

Datacore

An even faster reactive query engine for the data obsessed.

Meld Encrypt

Hide secrets in your notes.

Badges

Add inline badges/callouts to notes.

Day Planner (OG)

Day planning from a simple task list in a Markdown note (bare bones, preserves the features and behavior of the original plugin).

Mood Tracker

Track your moods & emotions easily. Visualize tracked history and browse the past entries.