Who this is for: Generative AI providers with over 1 million monthly users, compliance officers at organizations deploying AI content generation tools accessible to Washington consumers, government agencies using AI for public-facing communications, and developers building content provenance and watermarking infrastructure.

Effective February 1, 2027. Washington HB 1170 was signed by Governor Ferguson on March 24, 2026. Covered providers have until February 1, 2027 to implement content labeling, watermark or metadata embedding, and provenance traceability. Enforcement is through the Attorney General under the Consumer Protection Act. There is no private right of action. Begin building evidence infrastructure now.

Contents

1. Quick Reference 2. Scope and Covered Providers 3. Key Obligations 4. Exemptions 5. SWT3 Procedure Mapping 6. Procedure Detail Cards 7. Comparison with California Disclosure Laws 8. SDK Example 9. Related Guides

1. Quick Reference

ElementDetail
LawWashington HB 1170 (AI Content Disclosure)
SignedMarch 24, 2026 (Governor Ferguson)
EffectiveFebruary 1, 2027
ScopeCovered providers: entities creating generative AI systems with over 1 million monthly users, publicly accessible to Washington consumers for personal use
EnforcementAttorney General under Consumer Protection Act
Private right of actionNo
SWT3 proceduresAI-MARK.1, AI-WATERMARK.1, AI-TRANS.1, AI-DATA.1, AI-EXPL.1

2. Scope and Covered Providers

HB 1170 applies to covered providers, defined as entities that create, develop, or substantially modify a generative AI system that meets all of the following criteria:

The 1 million user threshold is the key operational filter. Smaller AI providers, internal enterprise tools, and B2B-only platforms fall outside the law's scope. However, organizations approaching the threshold should implement disclosure infrastructure proactively, as crossing the line creates an immediate compliance obligation with no grace period beyond the February 1, 2027 effective date.

Government Agency Requirements

Separately from the covered provider obligations, HB 1170 requires Washington state government agencies to clearly disclose when consumers are interacting with AI in public-facing services. The disclosure must use plain language that is understandable to the general public. This applies regardless of the 1 million user threshold.

3. Key Obligations

#ObligationRequirement
1AI content labelingEnable users to determine whether content was generated or materially altered by AI. Labels must be clear, conspicuous, and accessible.
2Watermark or metadata embeddingSupport visible watermarks or embedded metadata in AI-generated content so that downstream recipients can identify AI origin.
3Government AI interaction disclosureState agencies must clearly disclose when consumers interact with AI, using plain language.
4Provenance traceabilityContent that has been substantially modified by AI must be traceable back to AI output. Provenance data must survive reasonable downstream distribution.

The distinguishing feature of HB 1170 is its focus on content provenance rather than system-level disclosure. While many state AI laws require a one-time "you are talking to AI" disclosure, HB 1170 requires that the output itself carry evidence of its AI origin. This means every piece of generated or materially altered content must be individually labeled, watermarked, or metadata-tagged.

4. Exemptions

HB 1170 excludes several categories of AI-assisted content processing from its disclosure and labeling requirements:

The technical image processing exemption is narrowly drawn. If AI is used to generate new visual elements, alter the meaning of an image, or create composite content, the exemption does not apply even if the process also includes upscaling or noise reduction.

5. SWT3 Procedure Mapping

ObligationSWT3 ProcedureWhat It Witnesses
AI content labelingAI-MARK.1Content provenance marking applied to generated or materially altered content
Watermark/metadata embeddingAI-WATERMARK.1Watermark or metadata verification passed for AI-generated output
User determination capabilityAI-TRANS.1Transparency disclosure provided enabling user to identify AI-generated content
Government AI interaction disclosureAI-TRANS.1Transparency disclosure delivered for government agency AI systems
Provenance traceabilityAI-DATA.1Data provenance chain documented from AI output through downstream distribution
Content modification trackingAI-EXPL.1Explanation of AI modification provided with modification type and extent

The mapping uses five procedures across four namespaces. AI-TRANS.1 serves double duty: it covers both the user-facing determination capability and the government agency disclosure requirement. The factors recorded in each anchor distinguish the context (content_label vs. government_disclosure).

6. Procedure Detail Cards

AI-MARK.1

Content Provenance Marking

What HB 1170 requires: Covered providers must enable users to determine whether content was generated or materially altered by generative AI. The marking must be clear and conspicuous, applied at the point of generation, and accessible to end users without specialized tools.

How SWT3 addresses it: witnessContentMark() mints an anchor for each content marking event, recording the marking method (visible_label, metadata_tag, c2pa_manifest), content type (text, image, audio, video), and the content hash. The anchor chain creates a verifiable record that every piece of AI-generated content leaving the system was marked before delivery. Missing anchors for content generation events indicate unmarked output.

What to show the examiner

Query AI-MARK.1 anchors and cross-reference with AI-INF.1 inference anchors. Every AI-INF.1 that produced user-facing content should have a corresponding AI-MARK.1 anchor with a matching content hash. Unmatched inference anchors represent content delivered without provenance marking. The marking_method factor should match the organization's documented labeling approach.

AI-WATERMARK.1

Watermark Verification

What HB 1170 requires: Covered providers must support visible watermarks or embedded metadata in AI-generated content. The watermark or metadata must be durable enough to survive reasonable downstream distribution and must be detectable by users or verification tools.

How SWT3 addresses it: witnessWatermark() mints an anchor when watermark embedding is verified, recording the watermark type (visible, steganographic, c2pa, iptc_metadata), verification result (detected or absent), and robustness score. The anchor proves that watermarking infrastructure was active and producing verifiable outputs, not merely configured in a policy document.

What to show the examiner

AI-WATERMARK.1 anchors should show continuous verification across all content types. Look for the watermark_type factor to confirm the approach matches the organization's technical documentation. If the law requires both visible and embedded metadata, verify that both types appear in the anchor chain. A verification_result of "absent" indicates a watermarking failure that should trigger investigation.

AI-TRANS.1

Transparency Disclosure

What HB 1170 requires: For covered providers, users must be able to determine that content is AI-generated. For government agencies, consumers must receive a clear, plain-language disclosure when they interact with AI systems in public-facing services. The disclosure must be proactive, not buried in terms of service.

How SWT3 addresses it: witnessTransparency() mints an anchor for each disclosure event, recording the disclosure type (content_label, government_disclosure, user_notification), delivery method (inline_label, banner, interstitial), and the regulatory reference (wa_hb1170). For government agencies, the anchor chain proves that disclosure was delivered before or at the point of AI interaction, not retroactively. For content providers, the anchors prove that determination capability was available to users at the time of content delivery.

What to show the examiner

For government agencies: AI-TRANS.1 anchors with disclosure_type = government_disclosure must predate the first AI-INF.1 inference anchor for each user session. For content providers: AI-TRANS.1 anchors with disclosure_type = content_label should correspond to content delivery events. The delivery_method factor should indicate a user-accessible mechanism, not a machine-readable-only approach.

7. Comparison with California Disclosure Laws

Washington HB 1170 overlaps significantly with two California laws that address AI content disclosure. Organizations operating in both states should design a unified evidence architecture that satisfies all three simultaneously.

RequirementWA HB 1170CA SB 942CA AB 2013
Content labelingRequired for covered providersRequired for covered providersRequired for synthetic content
Watermark/metadataRequired (visible or embedded)Required (provenance data)Required (manifest or watermark)
User threshold1 million monthly users1 million monthly usersNo explicit threshold
Government disclosureRequired (state agencies)Not specifically addressedNot specifically addressed
Provenance traceabilityRequired for modified contentRequired (detection tools)Required (machine-readable)
EnforcementAG only, no private actionAG only, no private actionAG only, no private action
EffectiveFebruary 1, 2027January 1, 2026January 1, 2026

The key differences: California SB 942 emphasizes detection tool availability, while HB 1170 focuses on labeling at the point of generation. CA AB 2013 applies to synthetic content broadly without a user threshold, while HB 1170 limits coverage to providers above 1 million monthly users. Washington is unique in requiring government agency disclosure as a separate obligation.

For multi-state compliance, the strictest approach is to implement AI-MARK.1 labeling on all AI-generated content (satisfying all three laws), AI-WATERMARK.1 embedding with both visible and machine-readable methods (satisfying HB 1170 and AB 2013), and AI-TRANS.1 disclosure for both content and government contexts (satisfying HB 1170's unique government requirement).

8. SDK Example

Python

# Python: HB 1170 content disclosure witnessing
from swt3_ai import Witness

w = Witness(tenant="YOUR_TENANT", api_key="YOUR_KEY")

# Content provenance marking
w.witness(
  procedure="AI-MARK.1",
  factor_a="visible_label",
  factor_b="image",
  factor_c="content_hash_abc123"
)

# Watermark verification
w.witness(
  procedure="AI-WATERMARK.1",
  factor_a="c2pa",
  factor_b="detected",
  factor_c="robustness_0.97"
)

# Transparency disclosure
w.witness(
  procedure="AI-TRANS.1",
  factor_a="content_label",
  factor_b="inline_label",
  factor_c="wa_hb1170"
)

# Provenance traceability for modified content
w.witness(
  procedure="AI-DATA.1",
  factor_a="ai_output_provenance",
  factor_b="modification_chain",
  factor_c="source_hash_def456"
)

w.flush()

TypeScript

// TypeScript: HB 1170 content disclosure witnessing
import { Witness } from "@tenova/swt3-ai";

const w = new Witness({ tenant: "YOUR_TENANT", apiKey: "YOUR_KEY" });

// Content provenance marking
w.witness({
  procedure: "AI-MARK.1",
  factorA: "visible_label",
  factorB: "image",
  factorC: "content_hash_abc123"
});

// Watermark verification
w.witness({
  procedure: "AI-WATERMARK.1",
  factorA: "c2pa",
  factorB: "detected",
  factorC: "robustness_0.97"
});

// Transparency disclosure
w.witness({
  procedure: "AI-TRANS.1",
  factorA: "content_label",
  factorB: "inline_label",
  factorC: "wa_hb1170"
});

// Provenance traceability for modified content
w.witness({
  procedure: "AI-DATA.1",
  factorA: "ai_output_provenance",
  factorB: "modification_chain",
  factorC: "source_hash_def456"
});

await w.flush();

Full SDK documentation: sovereign.tenova.io/docs

Create a free account: sovereign.tenova.io/signup