# Transparent Authorship Specification v0.1 - Draft Proposal

_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:

- **Schema.org** — `author` accepts only `Person` or `Organization`, not `SoftwareApplication`
- **Social media "AI labels"** — binary toggle, no granularity
- **C2PA** — excellent for images/video, but no text support
- **IPTC Digital Source Type** — good vocabulary, but classification only, no collaboration details

## 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

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | string | required | Display name or pseudonym |
| `type` | string | required | Always `"human"` |
| `role` | string[] | required | Contribution roles (see §4) |
| `url` | URL | optional | Personal site, portfolio |
| `age` | integer | optional | Age at time of publication |
| `experience` | string | optional | Relevant experience summary |
| `inputMethod` | string | optional | How they contributed: `keyboard`, `voice`, `handwriting` |
| `edited` | boolean | optional | Was their contribution edited by others? |
| `verifiedVia` | URL[] | optional | Links to profiles confirming identity/expertise (LinkedIn, GitHub, etc.) |
| `reviews` | URL[] | optional | Links to reviews/ratings on external platforms |
| `orcid` | string | optional | ORCID identifier (academic context) |

### 3.2 AI Author

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | string | required | Model name (e.g., "Claude") |
| `type` | string | required | Always `"ai"` |
| `role` | string[] | required | Contribution roles (see §4) |
| `model` | string | required | Full model identifier (e.g., "claude-opus-4-6") |
| `version` | string | optional | Version string if different from model |
| `provider` | string | required | Company/org (e.g., "Anthropic") |
| `providerUrl` | URL | optional | Provider website |
| `platform` | string | optional | Interface used (e.g., "OpenClaw", "API", "ChatGPT") |
| `temperature` | number | optional | Generation temperature setting |
| `context` | string | optional | What context/instructions were provided |
| `trainingCutoff` | string | optional | Training data cutoff date |

## 4. Contribution Roles

Standardized role vocabulary. Each author can have multiple roles.

| Role | Code | Description |
| --- | --- | --- |
| 💡 Ideation | `ideation` | Original concept or idea |
| 🔬 Research | `research` | Finding and analyzing sources |
| 📝 Drafting | `drafting` | Writing the initial text |
| 🏗️ Structuring | `structuring` | Organizing content, creating outline |
| ✏️ Editing | `editing` | Revising and improving text |
| ✅ Fact-checking | `fact-checking` | Verifying claims against reality |
| 🧪 Testing | `testing` | Hands-on verification (code, hardware, etc.) |
| 🎨 Design | `design` | Visual design, formatting, CSS |
| 🌐 Translation | `translation` | Translating between languages |
| 🎙️ Narration | `narration` | Voice/audio narration |
| 📣 Publishing | `publishing` | Decision to publish, distribution |
| 💬 Prompting | `prompting` | Writing prompts/instructions for AI |
| 👁️ Review | `review` | Final 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:

- **Step number** — chronological order
- **Action** — what was done (from role vocabulary)
- **By** — who did it
- **Method** — how (optional: voice, keyboard, API call)
- **Timestamp** — when (optional)

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

## 8. Compatibility

Transparent Authorship is designed to coexist with:

- **Schema.org** — use standard `author`/`contributor` for human authors; extend with `ta:` namespace for AI details
- **C2PA** — reference C2PA manifests for media assets within the content
- **IPTC Digital Source Type** — use `compositeWithTrainedAlgorithmicMedia` classification
- **Dublin Core** — map `ta:authors` to `dcterms:creator`
- **Blockchain** — hash the `ta:workflow` chain for immutable provenance

## 9. Future Directions

- Submit as Schema.org extension proposal
- Browser extension to visualize TA metadata on any page
- WordPress/Ghost plugin for easy adoption
- Blockchain anchoring for provenance verification
- Integration with C2PA for mixed text+media content
- AI model card references (linking to model documentation)

## 10. License

This specification is released under [CC BY 4.0](https://creativecommons.org/licenses/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"](/posts/transparent-authorship.html)  
[← Home](/)