176 lines
7.5 KiB
Markdown
176 lines
7.5 KiB
Markdown
# Corpus Metadata
|
|
|
|
- All notes in `/Users/rico/Library/Mobile Documents/iCloud~md~obsidian/Documents/MyVault/iso27diy-corp/Corpus` need metadata.
|
|
- These metadata need to follow the [obsidian-front-matter-syntax](obsidian-front-matter-syntax.md).
|
|
- Obsidian calls metadata variables 'Properties'
|
|
- In this Corpus we use General properties (every note should have them) and specific properties (depending on the kind of note, which can be inferred from the `notetype` property, see below).
|
|
|
|
## General properties
|
|
|
|
**Notetype**
|
|
|
|
The `notetype` field will have one of the following values:
|
|
|
|
- `guide`: guided, hands-on lessons, learning by doing, interactive lessons
|
|
- `explanation`: background and context to the standards, paraphrases of the original standard texts, opinion, discussion, underlying principles, interpretation
|
|
- `application`: steps to solve a specific, real-world problem. Implementing the standard in real world environments, implementation aids, implementation examples, templates, etc.
|
|
- `reference`: secondary sources of information, like original standard texts, dictionaries, terms and definitions.
|
|
- `publication`: for content created by TSW for publication, e.g. articles, eBooks, social media posts.
|
|
- `overview`: meta-notes created and maintained by the Librarian; describe and index the contents of a vault folder for use by content agents.
|
|
- `other`: for all notes that, by their content, cannot be placed in one of the previous categories.
|
|
- `iso27diyGIS`: notes that belong to the ISO27DIY Guided Implementation System (GIS).
|
|
|
|
**Language**
|
|
|
|
- For the `language` property we use the language code as defined in ISO 639-1.
|
|
|
|
**Isotags**
|
|
|
|
The property `isotags`, of type list, allows any note to be linked to clauses and controls of the ISO 27001 / ISO 27002 standard, by the `id` property of the Original Standard Texts, found in `Corpus/Standards/ISO27x/OST/27001/EN` and `/Corpus/Standards/ISO27x/OST/27002/EN`, respectively.
|
|
|
|
For example, a note that needs to be linked to ISO 27001 clause 5.2 Policy, will get a value of `C.5.2` added to its `isotags` list. Likewise, a note that needs to be linked to ISO 27002 control 5.15 Access control, will get a value of `A.5.15` added to its `isotags` list.
|
|
|
|
## Properties for ISO 27001 and 27002 Original Standard Texts
|
|
|
|
Original Standard Texts are found in `Corpus/Standards/ISO27x/OST/` .
|
|
|
|
*Important: the body of these notes must never be changed!*
|
|
|
|
OST notes inherit the general properties, and also have the following properties:
|
|
|
|
- `status`: as of yet, the only value defined for the property is `active`. I foresee a `superseded` or `replaced` status for later.
|
|
- `sourcetext`: the standard name and version, e.g. `iso27001:en:2022`
|
|
|
|
The OST/27002 have specific properties deduced from chapter 4 of the standard ("Themes and Attributes"). They are:
|
|
- `theme`
|
|
- `control_type`
|
|
- `information_security_properties`
|
|
- `cybersecurity_concepts`
|
|
- `operational_capabilities`
|
|
- `security_domains`
|
|
|
|
For the possible values of these properties, see [themes-and-attributes-in-iso-27002](themes-and-attributes-in-iso-27002.md).
|
|
|
|
## Properties for the ISO27DIY Guided Implementation System
|
|
|
|
- Notes in the `iso27DIY-gis` folder and subfolders are of `notetype` `iso27diyGIS`.
|
|
- Notes in the `iso27DIY-gis/guide` subfolder ...
|
|
- Notes in the `iso27DIY-gis/reference` subfolder ...
|
|
|
|
## Properties for Corpus Overview Notes
|
|
|
|
Overview notes are created and maintained exclusively by the Librarian. They are not content notes and must not be used as source material for publications.
|
|
|
|
### Folder structure
|
|
|
|
All overview notes live in `iso27diy-corp/metadata/overviews/`. They are never placed inside the folder they describe.
|
|
|
|
### Filename convention
|
|
|
|
`corpus-overview-[foldername].md`, where `foldername` is the name of the vault folder being described, e.g. `corpus-overview-EN.md` for the ISO 27002 EN controls folder.
|
|
|
|
### Template
|
|
|
|
```yaml
|
|
---
|
|
title: "" # human-readable title, e.g. "Corpus Overview: ISO 27002 Controls (EN)"
|
|
notetype: overview
|
|
covers: "" # vault path of the folder this note describes,
|
|
# e.g. "iso27diy-corp/Corpus/Standards/ISO27x/OST/27002/EN"
|
|
last-updated: "" # ISO 8601 date, e.g. 2026-06-02; update whenever the note is revised
|
|
tags: []
|
|
---
|
|
```
|
|
|
|
### Rules
|
|
|
|
- `covers` must be the exact vault path of the folder being described — no trailing slash.
|
|
- `last-updated` must be set every time the overview note is modified.
|
|
- Overview notes do not carry `isotags`, `language`, or `status` — these fields are not applicable.
|
|
- The Librarian updates `last-updated` and the corpus index note (`corpus-index.md`) whenever an overview note is created or revised.
|
|
|
|
## Properties for Publications
|
|
|
|
Publications are found in `iso27diy-corp/Marketing/publications` and are of `notetype` `publication`.
|
|
|
|
### Folder structure
|
|
|
|
All publication notes live directly under `iso27diy-corp/Marketing/publications/posts/`. There are no audience or proposition subfolders — segmentation is handled entirely by front matter.
|
|
|
|
### Controlled vocabularies
|
|
|
|
**`proposition`** — which ISO27DIY product or practice this content promotes:
|
|
- `advisory` — Richard's advisory practice (ZZP)
|
|
- `canvas` — the Canvas Method product
|
|
- `iso27diy` — the ISO27DIY SaaS product
|
|
|
|
**`audience`** — who the content is aimed at:
|
|
- `leadership` — directors, board members, senior management
|
|
- `msp` — managed service providers
|
|
- `technical` — IT professionals, security practitioners
|
|
- `general` — no specific segment
|
|
|
|
**`channels`** — where the content is published:
|
|
- `linkedin`
|
|
- `newsletter`
|
|
- `blog`
|
|
|
|
**`linkedin-account`** — which LinkedIn account was used; only relevant when `linkedin` is in `channels`:
|
|
- `personal` — Richard's personal LinkedIn profile
|
|
- `company` — ISO27DIY company page
|
|
|
|
**`content-type`** — the format of the content:
|
|
- `post`
|
|
- `article`
|
|
- `newsletter-section`
|
|
- `thread`
|
|
|
|
**`status`**:
|
|
- `draft` — work in progress
|
|
- `ready` — approved, not yet scheduled
|
|
- `scheduled` — publish date set
|
|
- `published` — live
|
|
|
|
### Template
|
|
|
|
```yaml
|
|
---
|
|
title: "" # human-readable post title
|
|
language: "" # ISO 639-1 code: en | nl
|
|
|
|
proposition: "" # advisory | canvas | iso27diy
|
|
|
|
series-id: "" # short machine-readable code, e.g. s01, s02; omit if standalone
|
|
series-title: "" # human-readable series name; omit if standalone
|
|
series-part: # integer position within series; null if unpositioned draft; omit if standalone
|
|
|
|
audience: # one or more of: leadership | msp | technical | general
|
|
- leadership
|
|
|
|
channels: # one or more of: linkedin | newsletter | blog
|
|
- linkedin
|
|
linkedin-account: personal # personal | company; omit if linkedin not in channels
|
|
|
|
content-type: # one or more of: post | article | newsletter-section | thread
|
|
- post
|
|
|
|
status: draft # draft | ready | scheduled | published
|
|
|
|
publish-dates: # ISO 8601 datetime in UTC, e.g. 2026-05-13T17:30:00Z
|
|
linkedin: 2026-05-13T17:30:00Z
|
|
|
|
published-urls: # fill after publishing; omit channels not yet published
|
|
linkedin: ""
|
|
|
|
source-notes: # optional — vault notes this was drawn from; omit if none
|
|
- "[[path/to/note]]"
|
|
|
|
notetype: publication
|
|
isotags: [] # ISO 27001/27002 clause/control links; omit if not applicable
|
|
tags: []
|
|
---
|
|
```
|
|
|
|
### Filename convention
|
|
|
|
Publication filenames follow the pattern `{series-id}p{series-part}{language} - {title-slug}.md`, e.g. `s01p01en - IT is not going to fix your security problem.md`. Standalone posts use a plain descriptive slug with no series prefix.
|