AI TraceTrace Foundation, Inc.

Methodology / Codebook

Codebook

This is the data dictionary for the AI Trace record: every field in the three tables that make up the record, every value each enum can take, and what those values mean. The definitions are the ones our editorial standards use. The same definitions are published as a machine-readable schema at /datapackage.json, and the pages, the public API, and dataset releases are all generated from this one source.

Tables

The record is three tables. A company has many practices; a practice has many evidence rows. Ids are stable and are the citation keys; a company slug is the current URL and can change.

Companies companies.csv

One row per company profile. The id is the stable identifier; the slug is the current URL path and can change when a company is renamed.

Primary key id · parent_company_id references companies.id

Fields of the Companies table
FieldTypeDefinition
idCompany idstring (uuid)Stable unique identifier for the company. Cite by id: https://www.aitrace.org/r/company/{id} resolves to the current page even after a rename.
nameNamestringCompany display name.
slugSlugstringURL-safe company identifier, the path segment of the company page. Unique at any one time; may change when a company is renamed, so it is not a stable citation key.
websiteWebsitestring (uri), nullablePrimary company website URL.
descriptionDescriptionstring, nullableShort description of the company shown on its profile.
industry_tagsIndustry tagsarray, nullableArray of industry tags assigned to the company.
aliasesAliasesarray, nullableOther names the company is known by; used to match searches and reports to the profile.
ai_statusAI statusstringCompany AI status valuesOverall company AI status: confirmed_use, suspected_use, no_known_use, or under_review. Set by a moderator on the company record.
parent_company_idParent company idstring (uuid), nullableId of the parent company when this company is a subsidiary. Null for top-level companies.
last_verified_atLast verifieddatetime, nullableUpdated whenever a moderator publishes or edits a practice or a cited source under this company. It records the most recent moderator action on the company's record; it does not mean every claim was re-checked on that date. Null when no moderator action has been recorded.
created_atCreateddatetimeTimestamp the company record was created.
updated_atUpdateddatetimeTimestamp the company record was most recently updated.

Practices practices.csv

One row per documented AI practice. Every structured field supports an explicit "unknown" or "unclear" value, and every descriptive field may be left null, when sources do not support a specific value. We do not guess.

Primary key id · company_id references companies.id

Fields of the Practices table
FieldTypeDefinition
idPractice idstring (uuid)Stable unique identifier for the practice. Cite by id: https://www.aitrace.org/r/practice/{id} resolves to the current page.
company_idCompany idstring (uuid)Id of the company the practice belongs to.
categoryCategorystringPractice category valuesPractice category, one of seven values; "Other" is the catch-all.Completeness weight: 5 points
subcategorySubcategorystring, nullableOptional free-text subcategory.Completeness weight: 5 points
summarySummarystringOne-sentence summary of the practice.
detailsDetailsstring, nullableLonger prose description.
products_affectedProducts affectedarray, nullableArray of product or service names touched by this practice. Empty when none are named.
statusStatusstringPractice status valuesEditorial status: verified, reported, disputed, or retracted.
date_practice_startedDate startedstring, nullableEarliest known date the practice began. A partial date (a year, or a year and month) is allowed; null when sources do not say.Completeness weight: 5 points
discontinued_atDiscontinueddate, nullableDate the practice was discontinued. Null when still active. Discontinuation is an explicit flag, not a deletion: the entry stays in the record.
last_reviewed_atLast revieweddatetime, nullableTimestamp of the most recent moderator review of this practice.
deployment_scopeDeployment scopestringDeployment scope valuesAccess conditions for the AI system. The value "unknown" is the sentinel default and earns zero points in the completeness score. Orthogonal to visibility; never infer one from the other.Completeness weight: 10 points
deployment_regionsDeployment regionsstring, nullableFree-text geographic scope (examples: "US only", "60+ countries", "global"). Null when sources do not clarify. For scoring purposes, the literal string "unknown" is treated the same as null.Completeness weight: 5 points
user_base_affectedUser base affectedstring, nullableFree-text scale and population affected (example: "all 500M monthly users", "enterprise customers only"). Null when sources do not clarify. For scoring purposes, the literal string "unknown" is treated the same as null.Completeness weight: 10 points
ai_functionAI functionarrayAI function valuesArray of AI functions; the primary function is listed first. Sentinel default is ["other"]. An array containing only "other" earns zero points in the completeness score.Completeness weight: 10 points
ai_inputAI inputstring, nullableFree-text description of what the AI system receives as input.Completeness weight: 10 points
ai_outputAI outputstring, nullableFree-text description of what the AI system produces.Completeness weight: 10 points
labor_impact_typeLabor impact typestringLabor impact type valuesLabor consequence of the AI system. Sentinel default is "unclear", which earns zero points. Setting "automates_prior_task" requires explicit two-sided evidence at the specific company.Completeness weight: 10 points
prior_human_processPrior human processstring, nullableFree-text description of what humans did before the AI system existed. Null when labor_impact_type is new_capability or when sources do not clarify. Populating this field earns its 10 points even when labor_impact_type remains unclear.Completeness weight: 10 points
labor_contextLabor contextstring, nullableFree-text nuance about the labor situation that does not fit the enum cleanly (example: "editors still review before publish"). Documenting a gap here earns its 5 points even when labor_impact_type is unclear.Completeness weight: 5 points
visibilityVisibilitystring, nullableVisibility valuesWhose experience includes the AI output. Null is the sentinel and earns zero points. Orthogonal to deployment_scope; both fields must be set independently based on what the sources support.Completeness weight: 5 points
completeness_scoreCompleteness scoreintegerDerived 0 to 100 editorial completeness score, maintained automatically whenever the practice is written. Purely additive; zero is a valid score. Sentinel values ("unknown", "unclear", a sole ["other"], null) earn zero points for their respective fields. A low score due to honest unknowns is acceptable. It is never authored by hand and is not an editorial judgment.
created_atCreateddatetimeTimestamp the practice record was created.
updated_atUpdateddatetimeTimestamp the practice record was most recently updated.

Evidence evidence.csv

One row per cited source. Every claim in a practice is traceable to at least one row here; a published practice has at least one accepted source, and at least one Tier 1 or Tier 2 source.

Primary key id · practice_id references practices.id

Fields of the Evidence table
FieldTypeDefinition
idEvidence idstring (uuid)Evidence row unique identifier.
practice_idPractice idstring (uuid)Id of the practice this source supports.
source_typeSource typestringSource type valuesType of source: news_article, company_disclosure, regulatory_filing, community_report, academic_paper, social_media_post. Each type maps to a tier.
source_urlSource URLstring (uri)Canonical URL of the source.
archived_urlArchived copystring (uri), nullableWayback or archive URL, when captured. Null when the page could not be archived (for example, the publisher blocks archiving or the page was gone before capture).
source_titleTitlestringTitle of the article, document, or post.
source_publisherPublisherstring, nullablePublisher or platform hosting the source.
source_dateDate publisheddate, nullablePublication date of the source.
excerptExcerptstring, nullableEvidence excerpt relevant to the claim.
verifiedModerator verifiedbooleanWhether a moderator has manually verified this source. A source is marked moderator-verified only when three conditions are met simultaneously: the source is from the company itself, the URL is on a recognizable official domain, and the content directly confirms the specific practice being documented. This flag is applied at the source level, not the practice level.
created_atCreateddatetimeTimestamp the evidence row was created.

Enum values

Stored values are what the API and release files carry. Labels are what the site renders. Where a value is marked sentinel, it is the explicit record that we looked and the sources do not say; a sentinel earns zero points in the completeness score, and an entry with honestly unknown fields is more defensible than one filled with plausible guesses.

Company AI status ai_status

The company-level status shown on the company badge. A moderator sets it on the company record; it is set independently of the status of any one practice.

Values of Company AI status
Stored valueLabelDefinition
confirmed_useConfirmed AI UseThe company badge reads Confirmed AI Use. Descriptive, not a judgment: the site tracks AI use and does not rate it.
suspected_useSuspected AI UseThe company badge reads Suspected AI Use.
no_known_useNo Known AI UseThe company badge reads No Known AI Use.
under_reviewUnder ReviewThe company badge reads Under Review. A company record created by the automated discovery pipeline carries this status until a moderator reviews it.

Practice status practice_status

The editorial status of one practice entry. Verified and Reported are assigned from the cited sources; Disputed and Retracted come from the dispute and correction process.

Values of Practice status
Stored valueLabelDefinition
verifiedVerifiedA practice is marked "Verified" when at least one primary source directly confirms it. A primary source originates from the company itself: its newsroom, engineering blog, SEC filings, regulatory disclosures, official support pages, or developer documentation, on a recognizable official domain.
reportedReportedA practice is marked "Reported" when all available sources are secondary, or when the company has not officially confirmed the practice. A secondary source includes news articles, trade press, community reports, academic papers, and social media posts.
disputedDisputedIf an entry is disputed, it carries a "Disputed" badge until the dispute is resolved. Contested information is not silently removed.
retractedRetractedAn entry that turns out to be materially wrong is marked Retracted rather than deleted: the record of what we got wrong stays public.

Practice category practice_category

The kind of AI practice. One of seven values; "Other" is the catch-all when no specific category fits.

Values of Practice category
Stored valueLabelDefinition
creative_generationCreative GenerationAI used to generate creative material.
productivity_automationProductivity AutomationAI used to automate or speed up work tasks.
data_analysisData AnalysisAI used to analyze data.
content_moderationContent ModerationAI used to moderate content.
recommendation_systemRecommendation SystemAI used to recommend items to people.
customer_serviceCustomer ServiceAI used in customer service.
othersentinelOtherThe catch-all when no specific category fits.

Deployment scope deployment_scope

Access conditions for the AI system: who can access it. Orthogonal to visibility; never infer one from the other. The value "unknown" is the sentinel default and earns zero points in the completeness score.

Values of Deployment scope
Stored valueLabelDefinition
all_usersAll UsersAvailable to all users of the product or service.
opt_inOpt-inAvailable to users who choose to turn it on.
pilotPilotDeployed to a limited pilot group.
internal_toolInternal ToolUsed inside the company by its own staff.
offered_not_mandatedOffered, Not MandatedOffered to staff or users without being required.
unknownsentinelUnknownThe sentinel used when sources do not clarify; it earns zero points in the completeness score.

AI function ai_function

The technical mechanism: what the model does, independent of labor impact. Stored as an array with the primary function listed first. The value "other" is the sentinel used when no specific function fits; an array containing only "other" earns zero points in the completeness score.

Values of AI function
Stored valueLabelDefinition
generatingGeneratingProduces new content.
classifyingClassifyingAssigns items to categories.
matchingMatchingPairs or links items to one another.
summarizingSummarizingCondenses longer material.
recommendingRecommendingRanks or suggests items.
detectingDetectingFinds patterns, anomalies, or specific content.
predictingPredictingEstimates future or unobserved values.
automatingAutomatingCarries out a task end to end. Shares a word with the labor impact value automates_prior_task but describes the mechanism, not the labor consequence; the two are set independently.
othersentinelOtherThe sentinel used when no specific function fits.

Labor impact type labor_impact_type

Labor consequence of the AI system, fully independent of the AI function. The value "unclear" is the sentinel and earns zero points. The value "automates_prior_task" requires explicit two-sided evidence at the specific company: one side documents the prior human process, the other confirms that AI now performs that task.

Values of Labor impact type
Stored valueLabelDefinition
augments_existingAugments Existing WorkAI assists work that humans continue to do.
automates_prior_taskAutomates Prior TaskAI performs a task that humans at the company previously performed. Requires two-sided evidence; where only one side is confirmed, or where the prior human process is an industry-wide assumption rather than a company-specific fact, the value is unclear.
new_capabilityNew CapabilityAI enables something that was not previously done by humans at the company.
unclearsentinelUnclearThe sentinel used when sources do not support a specific classification; it earns zero points.

Visibility visibility

Whose experience includes the AI output. Null is the sentinel and earns zero points. Orthogonal to deployment scope; both fields must be set independently based on what the sources support.

Values of Visibility
Stored valueLabelDefinition
consumer_facingConsumer-facingCustomers or the public experience the AI output.
internalInternalOnly people inside the company experience the AI output.
bothBothBoth customers and internal staff experience the AI output.

Source type source_type

The kind of cited source. Each type maps to a tier: Tier 1 (Company Disclosure, Regulatory Filing) is material from the company itself or filed with a government and can substantiate a claim alone; Tier 2 (News Article, Academic Paper) is reporting from established outlets and peer-reviewed research; Tier 3 (Social Media, Community Report) is never sufficient alone.

Values of Source type
Stored valueLabelDefinition
company_disclosureCompany DisclosureTier 1. Official statements, press releases, engineering blogs and documentation on official domains.
regulatory_filingRegulatory FilingTier 1. SEC and regulatory filings.
news_articleNews ArticleTier 2. Reporting from established outlets with editorial standards and named authorship.
academic_paperAcademic PaperTier 2. Peer-reviewed academic research.
social_media_postSocial MediaTier 3. Social media posts; screenshots are required.
community_reportCommunity ReportTier 3. Community reports and forums.

Provenance status provenance_status

Authorship of the current value of a tracked practice field. Rendered on each practice page as the provenance line; not a column in the release files. The tracked fields are summary, details, category, subcategory, products affected, visibility, labor impact type, deployment scope, deployment regions, user base affected, AI function, AI input, AI output, prior human process, and labor context.

Values of Provenance status
Stored valueLabelDefinition
ai_draftedAI draftedThe current value was drafted by the automated research pipeline and accepted by a human reviewer without edits.
human_editedHuman editedA human reviewer wrote or changed the current value.
human_verifiedHuman verifiedA human reviewer verified the current value against the cited sources.

Completeness score

Each practice carries a completeness score from 0 to 100. It is computed, not guessed: it reflects actual non-default field values per the weights below, is maintained automatically whenever a practice is written, and is never authored by hand. It measures how much the cited evidence supports, not how good or bad the practice is. A low score due to honest unknowns is acceptable.

Completeness score weights by field
FieldPoints
Category category5
Subcategory subcategory5
Date started date_practice_started5
Deployment scope deployment_scope10
Deployment regions deployment_regions5
User base affected user_base_affected10
AI function ai_function10
AI input ai_input10
AI output ai_output10
Labor impact type labor_impact_type10
Prior human process prior_human_process10
Labor context labor_context5
Visibility visibility5
Total100

Machine-readable schema

The same dictionary is published as a Frictionless Data Package at /datapackage.json: one Table Schema per table, with field names, types, enum constraints, primary keys, and foreign keys. Dataset releases ship this file beside the CSVs it describes, so a release can be validated against the published schema. The package carries a version once the first dataset release exists; until then the field is absent rather than invented.

For citation forms and the data license, see How to cite. For what the record does not cover, see Known limitations.