コンテンツにスキップ

公開範囲のコントロール

takuhon.json は完全な記録です。実際に公開読者へ届くもの — プロフィールページ・ API・JSON-LD・MCP エンドポイント・エクスポートした CV — は、settingsmeta4 つの独立した層で決まります(settings・項目ごと・meta)。ある値が公開される のは、それに適用される層がすべて許可したときだけ(論理 AND)であり、同じ射影が すべての surface で動くため、結果は常に一致します。

1. フィーチャートグル — 機能ごとオン/オフ

Section titled “1. フィーチャートグル — 機能ごとオン/オフ”

settings.enable* は機能全体を切り替えます:

設定既定効果
enableJsonLdtrueページに Schema.org JSON-LD を出力。
enableApitrue公開 read API エンドポイントを公開。
enableAnalyticsfalseopt-in のファーストパーティ分析。

2. セクション可視性 — セクションごと非公開

Section titled “2. セクション可視性 — セクションごと非公開”

settings.publicVisibility(schema 0.6.0 で追加)は、content セクションを丸ごと 非公開にできます。各キーはセクション名で、false にするとそのセクションがすべての 公開 surface から除外されます:

{
"settings": {
"publicVisibility": {
"education": false,
"recommendations": false
}
}
}
  • 既定は全公開。キーが無い — あるいは publicVisibility ブロック自体が無い — 場合は そのセクションは公開され、既存のプロフィールには影響しません。
  • 切り替えられる 16 セクションは linkscareersprojectsskillscertificationsmembershipsvolunteeringhonorseducationpublicationslanguagescoursespatentstestScoresrecommendationscontact
  • プロフィール識別子(profile.displayName・アバター・タグライン等)は常に公開で、 意図的にトグル対象外です。プロフィール全体を非公開にしたい場合は、デプロイしない (または API を切る)という別レイヤの判断になります。

3. 項目単位の可視性 — 1 件だけ非公開

Section titled “3. 項目単位の可視性 — 1 件だけ非公開”

<item>.visibility(schema 0.7.0 で追加)は、公開しているセクションの中の 1 項目だけを非公開にします。任意の項目 — リンク・プロジェクト・職歴など — の visibility"private" にすると、その項目だけがすべての公開 surface から除外され、 同じセクションの他の項目はそのまま残ります:

{
"links": [
{ "id": "site", "type": "website", "url": "https://example.com" },
{
"id": "draft-blog",
"type": "blog",
"url": "https://blog.example.com",
"visibility": "private"
}
]
}
  • 既定は公開。値が無い — あるいは "visibility": "public" — なら項目は公開され、 既存のプロフィールには影響しません。
  • 15 の配列セクション(linksprojectscareers 等)の項目に使えます。まだ共有 したくないリンク、下書きのプロジェクトなど、セクション全体を隠さずに 1 件だけ 伏せたいときに使います。
  • 非公開の項目は完全に消えます — 存在もセクションの件数も漏れません。
  • セクションごとの非公開(層 2)は項目判定に優先します。非公開にした項目も、完全な ドキュメントを読み込む admin エディタでは引き続き閲覧・編集できます。

4. フィールド単位の制御 — 特定フィールドを非公開

Section titled “4. フィールド単位の制御 — 特定フィールドを非公開”

可視なセクション内でも、個々のフィールドは各自のフラグで制御され続けます:

制御既定効果
contact.showEmailfalse明示的に true にしない限り email は非公開。
meta.privacy.hideCredentialIdstruecertifications[*].credentialId を除去。
meta.privacy.hideEducationGradestrueeducation[*].grade を除去。

セクションごとの非公開(層 2)— または項目を private にすること(層 3)— は これらのフィールド判定に優先します。可視な項目はフィールドフラグを引き続き尊重します。

これらの制御は @takuhon/core の単一の射影(section → item → field の順)で適用される ため、プロフィールページ・/api/profile/api/jsonld/takuhon.json・MCP エンドポイント・派生 CV のすべてがまったく同じ内容を公開します。admin エディタは 認証付きエクスポートから完全なドキュメント(private にした項目を含む)を読み込む ので、それらも常に編集できます — 公開 surface だけが除外します。フィーチャートグル・ Public sections のセクションごとのチェックボックス・フィールド制御を提供し、項目 単位の可視性は項目に直接設定します(フォームへの項目単位トグルは今後対応予定)。

各フィールドと制約の一覧は スキーマリファレンス を参照してください。