Transparent Authorship Specification

2026-03-08

v0.1 Draft — March 8, 2026

⚠️ Draft Proposal. This is a working document. We invite feedback, criticism, and contributions. The spec will evolve based on real-world usage.

1. Problem

Current content attribution is binary: either "by a human" or "AI-generated." Reality is a spectrum. A blog post might start as a voice memo from a human, get structured by AI, fact-checked by the human, and polished by AI. Who's the author?

Existing standards don't handle this:

2. Goals

  1. Attribute every contribution to its source (human or AI)
  2. Provide detailed metadata for both human and AI authors
  3. Be machine-readable — future models should parse this natively
  4. Be human-readable — visible to readers, not hidden in headers
  5. Extend, not break, existing Schema.org patterns

3. Author Fields

3.1 Human Author

FieldTypeRequiredDescription
namestringrequiredDisplay name or pseudonym
typestringrequiredAlways "human"
rolestring[]requiredContribution roles (see §4)
urlURLoptionalPersonal site, portfolio
ageintegeroptionalAge at time of publication
experiencestringoptionalRelevant experience summary
inputMethodstringoptionalHow they contributed: keyboard, voice, handwriting
editedbooleanoptionalWas their contribution edited by others?
verifiedViaURL[]optionalLinks to profiles confirming identity/expertise (LinkedIn, GitHub, etc.)
reviewsURL[]optionalLinks to reviews/ratings on external platforms
orcidstringoptionalORCID identifier (academic context)

3.2 AI Author

FieldTypeRequiredDescription
namestringrequiredModel name (e.g., "Claude")
typestringrequiredAlways "ai"
rolestring[]requiredContribution roles (see §4)
modelstringrequiredFull model identifier (e.g., "claude-opus-4-6")
versionstringoptionalVersion string if different from model
providerstringrequiredCompany/org (e.g., "Anthropic")
providerUrlURLoptionalProvider website
platformstringoptionalInterface used (e.g., "OpenClaw", "API", "ChatGPT")
temperaturenumberoptionalGeneration temperature setting
contextstringoptionalWhat context/instructions were provided
trainingCutoffstringoptionalTraining data cutoff date

4. Contribution Roles

Standardized role vocabulary. Each author can have multiple roles.

RoleCodeDescription
💡 IdeationideationOriginal concept or idea
🔬 ResearchresearchFinding and analyzing sources
📝 DraftingdraftingWriting the initial text
🏗️ StructuringstructuringOrganizing content, creating outline
✏️ EditingeditingRevising and improving text
✅ Fact-checkingfact-checkingVerifying claims against reality
🧪 TestingtestingHands-on verification (code, hardware, etc.)
🎨 DesigndesignVisual design, formatting, CSS
🌐 TranslationtranslationTranslating between languages
🎙️ NarrationnarrationVoice/audio narration
📣 PublishingpublishingDecision to publish, distribution
💬 PromptingpromptingWriting prompts/instructions for AI
👁️ ReviewreviewFinal review and approval

5. Content Block Attribution

For inline attribution, each content block can be tagged with its source:

<div data-author="liza" data-author-type="ai" data-role="drafting">
  AI-generated paragraph here.
</div>

<div data-author="aleksej" data-author-type="human" data-role="ideation" 
     data-input="voice" data-edited="false">
  Raw human voice transcription here.
</div>

CSS can then style blocks differently based on data-author-type:

[data-author-type="ai"] { border-left: 3px solid #7c3aed; background: #f5f3ff; }
[data-author-type="human"] { border-left: 3px solid #059669; background: #f0fdf4; }

6. Document-Level Metadata

6.1 HTML Meta Tags

<meta name="ta:version" content="0.1">
<meta name="ta:source-type" content="collaborative">
<meta name="generator" content="Claude Opus 4.6 by Anthropic via OpenClaw">
<meta name="ai-generated" content="partially">

6.2 JSON-LD (Full Example)

{
  "@context": {
    "@vocab": "https://schema.org/",
    "ta": "https://emerge.st/ns/transparent-authorship/"
  },
  "@type": "BlogPosting",
  "headline": "Example Post Title",
  "datePublished": "2026-03-08",
  "ta:specVersion": "0.1",
  "ta:sourceType": "collaborative",
  "ta:authors": [
    {
      "ta:type": "human",
      "ta:name": "Aleksej",
      "ta:roles": ["ideation", "fact-checking", "prompting", "publishing"],
      "ta:inputMethod": "voice",
      "ta:edited": false,
      "ta:url": "https://emerge.st",
      "ta:verifiedVia": ["https://github.com/username"]
    },
    {
      "ta:type": "ai",
      "ta:name": "Claude",
      "ta:model": "claude-opus-4-6",
      "ta:provider": "Anthropic",
      "ta:platform": "OpenClaw",
      "ta:roles": ["research", "drafting", "structuring", "design"],
      "ta:trainingCutoff": "2026-02"
    }
  ],
  "ta:workflow": [
    {"ta:step": 1, "ta:action": "ideation", "ta:by": "Aleksej", "ta:method": "voice message"},
    {"ta:step": 2, "ta:action": "research", "ta:by": "Claude"},
    {"ta:step": 3, "ta:action": "drafting", "ta:by": "Claude"},
    {"ta:step": 4, "ta:action": "review", "ta:by": "Aleksej"},
    {"ta:step": 5, "ta:action": "publishing", "ta:by": "Aleksej"}
  ]
}

7. Workflow Chain

The ta:workflow array documents the creation process step by step. Each step records:

This creates a provenance chain — a complete audit trail of content creation.

8. Compatibility

Transparent Authorship is designed to coexist with:

9. Future Directions

10. License

This specification is released under CC BY 4.0. Use it, extend it, build on it. Attribution appreciated.


👤 ALEKSEJ (voice, unedited)

"Even if this isn't part of the schema now, we can mark up data in this format so that in the future they take something similar from it. And the model will read the format — she will see the specification."

🤖 LIZA

He's right. Standards follow practice, not the other way around. HTML was a mess before W3C formalized it. JSON existed before RFC 8259. We publish, we use, others adopt, then it becomes a standard.

← Read the companion post: "Transparent Authorship — Beyond Written by AI"
← Home