公開範囲のコントロール
takuhon.json は完全な記録です。実際に公開読者へ届くもの — プロフィールページ・
API・JSON-LD・MCP エンドポイント・エクスポートした CV — は、settings と meta の
3 つの独立した層で決まります。ある値が公開されるのは、それに適用される層が
すべて許可したときだけ(論理 AND)であり、同じ射影がすべての surface で動くため、
結果は常に一致します。
1. フィーチャートグル — 機能ごとオン/オフ
Section titled “1. フィーチャートグル — 機能ごとオン/オフ”settings.enable* は機能全体を切り替えます:
| 設定 | 既定 | 効果 |
|---|---|---|
enableJsonLd | true | ページに Schema.org JSON-LD を出力。 |
enableApi | true | 公開 read API エンドポイントを公開。 |
enableAnalytics | false | opt-in のファーストパーティ分析。 |
2. セクション可視性 — セクションごと非公開
Section titled “2. セクション可視性 — セクションごと非公開”settings.publicVisibility(schema 0.6.0 で追加)は、content セクションを丸ごと
非公開にできます。各キーはセクション名で、false にするとそのセクションがすべての
公開 surface から除外されます:
{ "settings": { "publicVisibility": { "education": false, "recommendations": false } }}- 既定は全公開。キーが無い — あるいは
publicVisibilityブロック自体が無い — 場合は そのセクションは公開され、既存のプロフィールには影響しません。 - 切り替えられる 16 セクションは
links・careers・projects・skills・certifications・memberships・volunteering・honors・education・publications・languages・courses・patents・testScores・recommendations・contact。 - プロフィール識別子(
profile.displayName・アバター・タグライン等)は常に公開で、 意図的にトグル対象外です。プロフィール全体を非公開にしたい場合は、デプロイしない (または API を切る)という別レイヤの判断になります。
3. フィールド単位の制御 — 特定フィールドを非公開
Section titled “3. フィールド単位の制御 — 特定フィールドを非公開”可視なセクション内でも、個々のフィールドは各自のフラグで制御され続けます:
| 制御 | 既定 | 効果 |
|---|---|---|
contact.showEmail | false | 明示的に true にしない限り email は非公開。 |
meta.privacy.hideCredentialIds | true | certifications[*].credentialId を除去。 |
meta.privacy.hideEducationGrades | true | education[*].grade を除去。 |
セクションごとの非公開(層 2)はフィールド判定に優先します。可視なセクションは これらのフィールドフラグを引き続き尊重します。
単一の filter・すべての surface
Section titled “単一の filter・すべての surface”これらの制御は @takuhon/core の単一の射影で適用されるため、プロフィールページ・
/api/profile・/api/jsonld・/takuhon.json・MCP エンドポイント・派生 CV のすべてが
まったく同じ内容を公開します。admin エディタは 3 つの層をフォーム要素として提供し、
Public sections の下にセクションごとのチェックボックスがあります。
各フィールドと制約の一覧は スキーマリファレンス を参照してください。