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
| Field | Type | Definition |
|---|---|---|
idCompany id | string (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. |
nameName | string | Company display name. |
slugSlug | string | URL-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. |
websiteWebsite | string (uri), nullable | Primary company website URL. |
descriptionDescription | string, nullable | Short description of the company shown on its profile. |
industry_tagsIndustry tags | array, nullable | Array of industry tags assigned to the company. |
aliasesAliases | array, nullable | Other names the company is known by; used to match searches and reports to the profile. |
ai_statusAI status | stringCompany AI status values | Overall 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 id | string (uuid), nullable | Id of the parent company when this company is a subsidiary. Null for top-level companies. |
last_verified_atLast verified | datetime, nullable | Updated 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_atCreated | datetime | Timestamp the company record was created. |
updated_atUpdated | datetime | Timestamp 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
| Field | Type | Definition |
|---|---|---|
idPractice id | string (uuid) | Stable unique identifier for the practice. Cite by id: https://www.aitrace.org/r/practice/{id} resolves to the current page. |
company_idCompany id | string (uuid) | Id of the company the practice belongs to. |
categoryCategory | stringPractice category values | Practice category, one of seven values; "Other" is the catch-all.Completeness weight: 5 points |
subcategorySubcategory | string, nullable | Optional free-text subcategory.Completeness weight: 5 points |
summarySummary | string | One-sentence summary of the practice. |
detailsDetails | string, nullable | Longer prose description. |
products_affectedProducts affected | array, nullable | Array of product or service names touched by this practice. Empty when none are named. |
statusStatus | stringPractice status values | Editorial status: verified, reported, disputed, or retracted. |
date_practice_startedDate started | string, nullable | Earliest 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_atDiscontinued | date, nullable | Date 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 reviewed | datetime, nullable | Timestamp of the most recent moderator review of this practice. |
deployment_scopeDeployment scope | stringDeployment scope values | Access 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 regions | string, nullable | Free-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 affected | string, nullable | Free-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 function | arrayAI function values | Array 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 input | string, nullable | Free-text description of what the AI system receives as input.Completeness weight: 10 points |
ai_outputAI output | string, nullable | Free-text description of what the AI system produces.Completeness weight: 10 points |
labor_impact_typeLabor impact type | stringLabor impact type values | Labor 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 process | string, nullable | Free-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 context | string, nullable | Free-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 |
visibilityVisibility | string, nullableVisibility values | 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.Completeness weight: 5 points |
completeness_scoreCompleteness score | integer | Derived 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_atCreated | datetime | Timestamp the practice record was created. |
updated_atUpdated | datetime | Timestamp 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
| Field | Type | Definition |
|---|---|---|
idEvidence id | string (uuid) | Evidence row unique identifier. |
practice_idPractice id | string (uuid) | Id of the practice this source supports. |
source_typeSource type | stringSource type values | Type of source: news_article, company_disclosure, regulatory_filing, community_report, academic_paper, social_media_post. Each type maps to a tier. |
source_urlSource URL | string (uri) | Canonical URL of the source. |
archived_urlArchived copy | string (uri), nullable | Wayback 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_titleTitle | string | Title of the article, document, or post. |
source_publisherPublisher | string, nullable | Publisher or platform hosting the source. |
source_dateDate published | date, nullable | Publication date of the source. |
excerptExcerpt | string, nullable | Evidence excerpt relevant to the claim. |
verifiedModerator verified | boolean | Whether 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_atCreated | datetime | Timestamp the evidence row was created. |
Records records.csv
One public record about a company: a regulator action, a lawsuit, a conduct and harm finding, an incident, a lobbying spending record, a government contract record, a safety evaluation record, a training data statement, a safety statement, a model release, a user-data terms record, an acceptable use policy record or a licensing deal record, each quoting the words of its source. The records export in JSON serves one object per record, and the company route serves the company's records when include=records is asked for. A published record can carry fields that failed their check; each such field is shown as null.
Primary key record_id · company_slug references companies.slug
| Field | Type | Definition |
|---|---|---|
record_idRecord id | string (uuid) | Stable unique identifier for the record. The export names this field record_id and the company route names it id; the value is the same. |
company_slugCompany slug | string | The slug of the company the record is about, as the companies table holds it. Served by the export only, since the company route serves one company's records. |
kindKind | stringRecord kind values | The kind of record, which sets its fields and its section on the company page. Served by the export and the company route. |
source_classSource class | stringSource class values | Where the quoted words come from: the company itself, a regulator or another public body, a report by an outlet, or an independent evaluator. Served by the export and the company route. |
record_dateRecord date | string, nullable | The date of the action, report or statement, taken from the record's date field. A partial date (a year, or a year and month) is allowed; null when the source gives no date or the date failed its check. Served by the export and the company route. |
outletOutlet | string, nullable | The name of the outlet for a record whose source class is attributed_report, the name of the register for a lobbying spending record, or the evaluation source of a safety evaluation record (institute, independent or self), and null for every other record or when none is stored. Served by the export and the company route. |
finding_seen_onPage last seen | date, nullable | The date the page holding the record's quoted words was last fetched. Null when that date is not known. Served by the export and the company route. |
created_atCreated | datetime | Timestamp the record was created. Served by the export only. |
updated_atUpdated | datetime | Timestamp the record was most recently updated. Served by the export only. |
fieldsFields | object | The record's fields by name, one key for each field of the record's kind, each holding a field object with the value, quote and source_url of the record fields table, or null. A null field means the field failed its check or was not stated. Served by the export and the company route. |
Record fields record_fields.csv
One row per field of a record that is not null, in the records export in CSV, which repeats the record's own columns on every row. A record whose fields are all null has one row with the field, value, quote and source_url cells empty, so this table has no primary key. In JSON the value, quote and source_url of a field form the field object under a record's fields, in the export and in the company route.
Primary key · record_id references records.record_id · company_slug references companies.slug
| Field | Type | Definition |
|---|---|---|
record_idRecord id | string (uuid) | Id of the record the row belongs to, the record_id of the records table. A column of the CSV file. |
company_slugCompany slug | string | The slug of the company the record is about. A column of the CSV file. |
kindKind | stringRecord kind values | The kind of the record. A column of the CSV file. |
source_classSource class | stringSource class values | The source class of the record. A column of the CSV file. |
record_dateRecord date | string, nullable | The record date of the record, as in the records table. A column of the CSV file. |
outletOutlet | string, nullable | The outlet of an attributed report, the register of a lobbying spending record or the evaluation source of a safety evaluation record, as in the records table. A column of the CSV file. |
finding_seen_onPage last seen | date, nullable | The date the page holding the record's quoted words was last fetched, as in the records table. A column of the CSV file. |
fieldField | string, nullable | The field's name, one of the fields of the record's kind (for example regulator, case_status or release_text; the record kind definitions list every kind's fields). Empty on the one row of a record whose fields are all null. A column of the CSV file; in JSON the name is the key under the record's fields. |
valueValue | string, nullable | The field's value. In the CSV file it is text: a list of values is joined by a semicolon and a space, and a yes or no value reads true or false. In JSON it is a string, a number, true or false, or a list of those, and null when the stored value is none of these. |
quoteQuote | string, nullable | The words of the source, quoted exactly, that support the value. A column of the CSV file and a key of the JSON field object. |
source_urlSource address | string, nullable | The address of the page the quote was taken from, as stored. A column of the CSV file and a key of the JSON field object. |
None-found lines none_found_lines.csv
One line per company and record kind where the latest search found no record, while the company holds no published record of that kind. The none_found export serves one row per line, and the company route serves the company's lines when include=records is asked for. Each line states, with dates, where the search looked and found none, and which sites it did not search. A line with no sentence the company page shows is not served.
Primary key company_slug, kind · company_slug references companies.slug
| Field | Type | Definition |
|---|---|---|
company_slugCompany slug | string | The slug of the company the line is about. Served by the export only, since the company route serves one company's lines. |
kindKind | stringRecord kind values | The kind of record the search looked for. Served by the export and the company route. |
decided_atDecided | datetime | Timestamp the line was decided. Served by the export and the company route. |
sentencesSentences | string | The line's sentences that the company page shows, in stored order. In the CSV file, the text of each sentence, joined by a newline. In JSON, a list of sentence objects whose keys are the sentences fields below. |
sentences.typeSentence type | stringNone-found sentence type values | The sentence's none-found sentence type. A key of each sentence object in JSON. |
sentences.siteSentence site | string, nullable | The site the sentence is about, or null when none is stored. An own page sentence carries the site of the page, though its text names the address. A key of each sentence object in JSON. |
sentences.addressSentence address | string, nullable | The address the sentence rests on when one is stored: the page read for an own page sentence, the home page read for a home page sentence, the address asked or watched for the other types. Null when none is stored. A key of each sentence object in JSON. |
sentences.dateSentence date | string, nullable | The date the sentence states as year, month and day (the last date of the span for a watched sentence), or null. A key of each sentence object in JSON. |
sentences.nameSentence name | string, nullable | The company name the search looked for, or null. A key of an asked, a newest, a watched or a home page sentence object in JSON, and absent from an own page sentence. |
sentences.startSentence start | string, nullable | The first date of the span a watched sentence states, as year, month and day, or null. A key of a watched sentence object in JSON, and absent from the other types. |
sentences.countSentence count | integer, nullable | The number of newest notices the site answered with, none of which names the company, or null. A key of a newest sentence object in JSON, and absent from the other types. |
sentences.looked_forSentence looked for | string, nullable | What the home page was searched for a link to, such as a privacy policy, terms or legal page, or null. A key of a home page sentence object in JSON, and absent from the other types. |
sentences.sitemapSentence sitemap | string, nullable | The address of the sitemap read for a home page sentence, or null when none was read. A key of a home page sentence object in JSON, and absent from the other types. |
sentences.textSentence text | string | The sentence as the company page shows it, with its dates written out. A key of each sentence object in JSON; the CSV file carries this text in its sentences column. |
not_searchedNot searched | array, nullable | The sites on the kind's list of sites that earned no sentence, in stored order, each an object whose keys are the not_searched fields below. Served in JSON only, by the export and the company route. |
not_searched.siteNot-searched site | string, nullable | The site that earned no sentence, or null. A key of each not-searched object in JSON. |
not_searched.reasonNot-searched reason | string, nullableNot-searched reason values | Why the site earned no sentence, or null. A key of each not-searched object in JSON. |
rendered_not_searchedNot searched, as shown | string, nullable | The not-searched list as the company page shows it, one entry per site with its reasons, or null when every site earned a sentence. A column of the CSV file and a key of each line in JSON. |
Coverage statements /api/v2/companies/[slug]
One statement per date for a company that holds no published record of a record kind the site shows and at least one none-found line the company page shows. The company route serves the statements as its coverage key when include=records is asked for, newest date first, and serves null for any other company and when the read of the company's records fails; the company page shows the same statements. Each statement names the date the record kinds were searched, the sites searched and the sites whose feeds or sitemaps were read, and says that nothing matched the record kinds on that date. It describes the searches only, not whether the company uses AI.
Primary key pass_date
| Field | Type | Definition |
|---|---|---|
pass_datePass date | date | The date the statement's none-found lines were decided, as year, month and day in UTC: the date part of their decided_at. Lines of different kinds decided on different dates give one statement per date. |
kindsKinds | arrayRecord kind values | The record kinds whose latest none-found line was decided on the pass date, in the order of the company page. |
searchedSites searched | array | The sites of the statement's asked sentences, each once, in first-seen order. Empty when no asked sentence is shown. |
watchedFeeds or sitemaps read | array | The sites of the statement's watched sentences, whose feeds or sitemaps were read, each once, in first-seen order. Empty when no watched sentence is shown. |
not_searchedNot searched | array | The sites on the kinds' lists of sites that earned no sentence, one object per site and reason, in first-seen order, each with the not_searched fields below. |
not_searched.siteNot-searched site | string | The site that earned no sentence. A key of each not-searched object. |
not_searched.reasonNot-searched reason | stringNot-searched reason values | Why the site earned no sentence. A key of each not-searched object. |
statementStatement | array | The statement's sentences as the company page shows them, in order: the date of the search and the company, the sites searched when there are any, the feeds or sitemaps read when there are any, and the sentence that nothing matched the record kinds on that date. |
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.
| Stored value | Label | Definition |
|---|---|---|
confirmed_use | Confirmed AI Use | The company badge reads Confirmed AI Use. Descriptive, not a judgment: the site tracks AI use and does not rate it. |
suspected_use | Suspected AI Use | The company badge reads Suspected AI Use. |
no_known_use | No Known AI Use | The company badge reads No Known AI Use. |
under_review | Under Review | The 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, Reported and In re-verification come from the label rule, computed from the stored sources and claims; Disputed and Retracted come from the dispute and correction process.
| Stored value | Label | Definition |
|---|---|---|
verified | Verified | A practice is marked "Verified" when the label rule's conditions all hold: its corroboration level is 80 or more, every claim is verified against its source, and no source is on hold. The corroboration level scores the best source tier present (Tier 1 90, Tier 2 70, Tier 3 30) and adds 10 when two or more accepted sources come from distinct publishers, to a cap of 100. |
reported | Reported | A practice is marked "Reported" when the label rule's conditions are not all met. Its sources are shown as they stand. |
withheld | In re-verification | A practice is marked "In re-verification" when it was Verified and its verification is being re-read. The reason is stated on its page, and the record is kept. |
disputed | Disputed | If an entry is disputed, it carries a "Disputed" badge until the dispute is resolved. Contested information is not silently removed. |
retracted | Retracted | An 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.
| Stored value | Label | Definition |
|---|---|---|
creative_generation | Creative Generation | AI used to generate creative material. |
productivity_automation | Productivity Automation | AI used to automate or speed up work tasks. |
data_analysis | Data Analysis | AI used to analyze data. |
content_moderation | Content Moderation | AI used to moderate content. |
recommendation_system | Recommendation System | AI used to recommend items to people. |
customer_service | Customer Service | AI used in customer service. |
othersentinel | Other | The 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.
| Stored value | Label | Definition |
|---|---|---|
all_users | All Users | Available to all users of the product or service. |
opt_in | Opt-in | Available to users who choose to turn it on. |
pilot | Pilot | Deployed to a limited pilot group. |
internal_tool | Internal Tool | Used inside the company by its own staff. |
offered_not_mandated | Offered, Not Mandated | Offered to staff or users without being required. |
unknownsentinel | Unknown | The 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.
| Stored value | Label | Definition |
|---|---|---|
generating | Generating | Produces new content. |
classifying | Classifying | Assigns items to categories. |
matching | Matching | Pairs or links items to one another. |
summarizing | Summarizing | Condenses longer material. |
recommending | Recommending | Ranks or suggests items. |
detecting | Detecting | Finds patterns, anomalies, or specific content. |
predicting | Predicting | Estimates future or unobserved values. |
automating | Automating | Carries 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. |
othersentinel | Other | The 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.
| Stored value | Label | Definition |
|---|---|---|
augments_existing | Augments Existing Work | AI assists work that humans continue to do. |
automates_prior_task | Automates Prior Task | AI 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_capability | New Capability | AI enables something that was not previously done by humans at the company. |
unclearsentinel | Unclear | The 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.
| Stored value | Label | Definition |
|---|---|---|
consumer_facing | Consumer-facing | Customers or the public experience the AI output. |
internal | Internal | Only people inside the company experience the AI output. |
both | Both | Both 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.
| Stored value | Label | Definition |
|---|---|---|
company_disclosure | Company Disclosure | Tier 1. Official statements, press releases, engineering blogs and documentation on official domains. |
regulatory_filing | Regulatory Filing | Tier 1. Filings with the SEC or another regulator, and pages a regulator publishes on its own website, such as an order, a decision or a notice of an inquiry. |
news_article | News Article | Tier 2. Reporting from established outlets with editorial standards and named authorship. |
academic_paper | Academic Paper | Tier 2. Peer-reviewed academic research. |
social_media_post | Social Media | Tier 3. Social media posts; screenshots are required. |
community_report | Community Report | Tier 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.
| Stored value | Label | Definition |
|---|---|---|
ai_drafted | AI drafted | The current value was drafted by the automated research pipeline and accepted by a human reviewer without edits. |
human_edited | Human edited | A human reviewer wrote or changed the current value. |
human_verified | Human verified | A human reviewer verified the current value against the cited sources. |
Record kind record_kind
The kind of a public record about a company. Each kind has its own fields and its own section on the company page; only the kinds listed here are published. Each definition names the kind's fields, the keys of a record's fields object.
| Stored value | Label | Definition |
|---|---|---|
regulator_action | Regulator actions | An action a regulator took concerning the company, such as an inquiry, an order or a fine, with the words of the regulator's page or of a report that names the regulator. Its fields are regulator, respondent, action_type, action_text, amount, jurisdiction, action_status and action_date. |
lawsuit | Lawsuits | A case in a court that names the company, with the words of the court record, the court, the parties, the claims and the status of the case as the record states it. Its fields are case_name, court, docket_number, party, case_status, case_text, claim_text, ruling_text, filed_date and status_date. |
conduct_finding | Conduct and harm findings | A conclusion a court, a government inquiry or an official hearing reached about what the company did, with the words of the body's page. Its fields are body, respondent, body_type, finding_text, finding_status, jurisdiction and finding_date. |
incident | Incidents | A harm reported in connection with an AI system of the company, with the words of the page that reports it. Its fields are system_name, harm_text, incident_date, region and report_date. |
lobbying_spending | Lobbying spending | A filing in a public lobbying register that states what was spent on lobbying for the company, with the register's words: the client, the filer, the period, the amount as the register states it and the issues lobbied on. Its fields are client_name, registrant_name, filing_period, amount_basis, amount, spending_text, issues_text and filing_date. |
government_contract | Government contracts | A public notice of a contract a government body awarded to the company, with the notice's words: the awarding body, the title, the value as the notice states it and the award date. Its fields are awarding_body, supplier, contract_title, award_text, value and award_date. |
safety_evaluation | Safety evaluations | A published evaluation of a model of the company, with the words of the page that publishes it: the evaluating body, the developer, the model and the finding. The page is a public institute's, an independent evaluator's on a fixed, measured list, or the company's own. Its fields are evaluating_body, developer_name, model_name, evaluation_text and evaluation_date. |
training_data | Training data | What the company states about the data a model of its was trained on, with the words of the company's own page. Its fields are model_name, statement, acquisition_methods, data_cutoff, opt_out_offered and statement_date. |
safety_statement | Safety statements | A dated statement or commitment by the company about the safety of its AI, with the words of the company's own page or of a government page that lists the company as a signatory. Its fields are commitment_name, statement, statement_type, addressee and statement_date. |
model_release | Model releases | A model the company released, with its date, its access and its documents, in the words of the company's own page. Its fields are model_name, release_text, access_type, documents and release_date. |
user_data_terms | User-data terms | What the company's terms of service or privacy policy state about whether the content users give its AI products trains models, and the route to opt out, with the words of the company's own page in dated versions. Its fields are policy_name, service_name, training_use, training_text, opt_out_text and version_date. |
acceptable_use_policy | Acceptable use policies | A use of the company's AI products that its usage policy bans, or an enforcement figure the company reports for that policy, with the words of the company's own page. Its fields are policy_name, service_name, record_part, policy_text, enforcement_figure, reporting_period and policy_date. |
licensing_deal | Licensing deals | A deal the company announces with another party to license content or to work together, with the words of the company's own announcement: the other party, the content licensed and the announcement date. Its fields are company_party, other_party, content_text, deal_text and announcement_date. |
Source class source_class
Where the words a record quotes come from. Every record carries one class, and the company page shows its label above the record.
| Stored value | Label | Definition |
|---|---|---|
company_statement | Company statement | The company's own words on its own page. Such a record states what the company says; it is not a finding about the company. |
official_record | Official record | The words of a page a regulator, a court or another public body publishes. The company page names the regulator, the court, the body or the register, or the site of the page when the record names none; a government page that lists the company as a signatory reads as that body listing the company. |
attributed_report | Attributed report | The words of a report by a named outlet about the company. The company page shows it with the name of the outlet or, when no name is stored, the host of the source. |
independent_evaluation | Independent evaluation | The words of a page an independent evaluator on a fixed, measured list publishes about a company's model; the company page names the evaluator. |
None-found sentence type sentence_type
The kind of search one sentence of a none-found line reports. A none-found line states, with dates, where the search for records of one kind about a company looked and found none.
| Stored value | Label | Definition |
|---|---|---|
asked | Asked | On the date the sentence gives, the site's own search was asked for the company by name and answered zero results. |
newest | Newest notices | On the date the sentence gives, the site answered with its newest notices, as many as the sentence gives, and none names the company. The site does not search by name, so the sentence never states zero results. |
watched | Watched | No item whose title, summary or address names the company appeared in the site's feed or sitemap between the two dates the sentence gives. |
own_page | Own page | On the date the sentence gives, the page it names was read and no record of the kind was drafted from it. |
home_page | Home page | On the date the sentence gives, the company's home page was read and held no link to the page the kind looks for; when the sentence names a sitemap, the sitemap held no entry for one either. |
Not-searched reason not_searched_reason
Why a site on the list of sites for a record kind earned no sentence in a none-found line. The line lists each such site once with its reasons; the stored value is also the text the company page shows.
| Stored value | Label | Definition |
|---|---|---|
failed fetch | failed fetch | The site's page, search or feed could not be fetched. |
robots.txt | robots.txt | The site's robots.txt file does not allow the fetch, and the search obeys it. |
answered with results | answered with results | The site's search answered with results, so it cannot support a sentence that it found none. |
results did not name the company | results did not name the company | The site's search answered with results, and none of them names the company. |
unproven | unproven | The site's answer could not be shown to be a true answer of zero results. |
no dated item | no dated item | The site's feed or sitemap holds no dated item, so no span of dates can be stated for it. |
press | press | The site is a press outlet, and a press outlet earns no sentence in a none-found line. |
no channel | no channel | The site offers no search, feed or sitemap that the search can read. |
not polled | not polled | The site's feed or sitemap was not read for the span the line covers. |
Statement type statement_type
The kind of statement a safety statement record quotes. The value of the statement_type field.
| Stored value | Label | Definition |
|---|---|---|
signed_commitment | Signed commitment | A voluntary commitment the company signed, or a government page that lists the company as a signatory to one. |
safety_framework | Safety framework | A safety framework the company published. |
policy_promise | Policy promise | A promise the company made in a published policy. |
Access type access_type
How a released model can be reached, as the company's page states it. The value of the access_type field of a model release record, which is a list and can hold more than one access type.
| Stored value | Label | Definition |
|---|---|---|
open_weights | Open weights | The model's weights are published for anyone to download. |
api | API | The model can be used through a programming interface the company offers. |
product | Product | The model can be used through a product of the company. |
Case status case_status
The status of a lawsuit as the court record states it. The value of the case_status field; the company page shows it with the court record's words beside it.
| Stored value | Label | Definition |
|---|---|---|
filed | Filed | The case was filed, and the court record states no later outcome. |
dismissed | Dismissed | The court dismissed the case. |
settled | Settled | The parties settled the case. |
judgment | Judgment | The court entered a judgment in the case. |
appealed | Appealed | A party appealed a decision in the case. |
Body type body_type
The kind of official body whose conclusion a conduct and harm finding record quotes. The value of the body_type field.
| Stored value | Label | Definition |
|---|---|---|
court_judgment | Court judgment | The judgment of a court. |
government_inquiry | Government inquiry | The conclusion of an inquiry by a government body. |
official_hearing | Official hearing | The conclusion of an official hearing. |
Training use training_use
What a user-data terms record states about training models on user content. The value of the training_use field.
| Stored value | Label | Definition |
|---|---|---|
trains_on_content | Trains on user content | The terms state that user content is used to train models. |
does_not_train | Does not train on user content | The terms state that user content is not used to train models. |
trains_unless_opted_out | Trains on user content unless the user opts out | The terms state that user content is used to train models unless the user opts out. |
Record part record_part
Which part of an acceptable use policy a record quotes. The value of the record_part field.
| Stored value | Label | Definition |
|---|---|---|
prohibited_use | Prohibited use | A use the policy bans. |
enforcement | Enforcement | An enforcement figure the company reports for the policy. |
Amount basis amount_basis
What the figure of a lobbying spending record is, as the register states it. The value of the amount_basis field.
| Stored value | Label | Definition |
|---|---|---|
income | Lobbying firm's income from the client | The figure is the lobbying firm's income from the client for the period. |
expenses | Client's own lobbying expenses | The figure is the client's own lobbying expenses for the period. |
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.
| Field | Points |
|---|---|
Category category | 5 |
Subcategory subcategory | 5 |
Date started date_practice_started | 5 |
Deployment scope deployment_scope | 10 |
Deployment regions deployment_regions | 5 |
User base affected user_base_affected | 10 |
AI function ai_function | 10 |
AI input ai_input | 10 |
AI output ai_output | 10 |
Labor impact type labor_impact_type | 10 |
Prior human process prior_human_process | 10 |
Labor context labor_context | 5 |
Visibility visibility | 5 |
| Total | 100 |
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.