Output & Frontmatter

Everything SANE writes lives in the YAML frontmatter at the top of your note, prefixed with sane_. Your note body is never modified.

Overview

SANE uses the sane_ prefix as a namespace for all generated fields. This makes it trivial to distinguish AI-generated metadata from your own frontmatter, and to remove it all at once if needed.

Each field can be independently enabled or disabled via feature toggles in Settings. SANE will never overwrite your original frontmatter keys.

All fields

sane_tags
string[]
enableTags

3 to 7 topic tags, written in lowercase with hyphens. Generated by the LLM based on the note's content and the most semantically related notes in your vault.

Tags are designed to be stable across re-processing — the same note should produce similar tags each time.

sane_tags: ["machine-learning", "neural-networks", "deep-learning"]
sane_keywords
string[]
enableKeywords

3 to 8 key phrases extracted from the note's content. More specific than tags — keywords capture the concrete concepts, terms, and ideas in the note rather than broad topic labels.

sane_keywords: ["backpropagation", "gradient descent", "activation function"]
sane_links
string[]
enableLinks

Wiki-style links to the most relevant notes in your vault, as determined by semantic similarity (cosine distance between embeddings). The number of links is controlled by the relevantNotesCount setting (default 3).

Links use note titles, not file paths. Obsidian resolves them automatically.

sane_links: ["Introduction to AI", "Neural Net Basics", "Gradient Descent Explained"]
sane_summary
string
enableSummary

A 1–2 sentence summary of the note, capped at roughly 50 words. Written to be neutral and descriptive — useful for search, graph views, and quick skimming.

sane_summary: "An introduction to neural networks covering architecture, training via backpropagation, and common activation functions."
sane_version
string
always on

The version of SANE that last processed this note. Used internally to detect when a note was processed with an older version and may benefit from re-processing.

sane_version: "1.0.3"
sane_created_at
string (ISO 8601)
enableCreationTimestamp

Timestamp of the first time SANE processed this note. Written once and never updated. Useful for tracking when a note entered the SANE-managed set.

sane_created_at: "2025/5/5 19:59:11"
sane_modified_at
string (ISO 8601)
enableModificationTimestamp

Timestamp updated each time SANE reprocesses the note. Reflects when the AI-generated metadata was last refreshed, not when you last edited the note body.

sane_modified_at: "2025/6/29 12:15:12"

Full example

A note with all fields enabled. The top block is original user frontmatter; the bottom block is everything SANE adds.

neural-networks.md
---
# your original frontmatter
title: "On Neural Networks"
created: "2025-05-01"

# added by SANE
sane_tags: ["machine-learning", "neural-networks", "deep-learning"]
sane_keywords: ["backpropagation", "gradient descent", "activation function"]
sane_links: ["Introduction to AI", "Neural Net Basics", "Gradient Descent Explained"]
sane_summary: "An introduction to neural networks covering architecture, training, and common activation functions."
sane_version: "1.0.3"
sane_created_at: "2025/5/5 19:59:11"
sane_modified_at: "2025/6/29 12:15:12"
---

Your note body here. SANE never touches this.

Reverting changes

Because every generated field starts with sane_, reverting is unambiguous. SANE will never touch a field that doesn't carry the prefix.

Revert one note
Open the note, open the command palette, and run SANE: Revert current note. All sane_* fields are removed from the frontmatter immediately.
Revert all notes
Run SANE: Revert all notes from the command palette. A confirmation dialog appears first. This walks every processed note in your target folder and removes all sane_* fields.
Safe to repeat: Reverting and re-initializing is perfectly safe. SANE will re-generate fresh metadata from scratch the next time a note is processed.
View all commands →