PDID / Research resources

Public codebook

Political Deepfakes Incidents Database โ€” Variable Reference

On smaller screens, scroll tables sideways to read all columns.

Download codebook (Markdown)

A reference for researchers, journalists, and others using PDID data.

Updated October 14, 2026. Identifier definitions have been aligned with the current coding guidance. Other field names follow the public variable reference and may differ across dataset versions. Not every field is displayed on the website or included in chart-summary downloads.

Use date_posted, rather than the numerical order of the identifiers, to analyze when reports appeared.

Database Overview

PDID documents political deepfakes, cheapfakes, and media alleged to be fake, including authentic media. The identifiers distinguish three levels:

Unit of analysis guidance:

Important classification note: The type field (deepfake / cheapfake / real / unclear) reflects coder judgment at the time of coding. It is not machine-verified ground truth. The HiveModeration_Score provides a complementary AI-detection signal. external_verification also identifies whether news or fact-checkers have said whether the media is real or fake.

Variable Reference Table

Meta-Data

VariableTypeDescription
event_idLinked identifierGroups incidents connected to a broader political episode, campaign, or controversy.
report_idAuto-numberIdentifies one coded post or upload. Multiple coding rows may share this identifier; use the validated row for analysis.
incident_idLinked identifierIdentifies a distinct media item across posts or uploads. Group by this identifier for distinct-media analysis.
threadNumberOrder of this item within a multi-item post (1 = first, 2 = second, etc.).
date_codedDateDate the row was entered into the database.
ValidatedCheckboxWhether a coder has reviewed and verified this entry.
TitleTextHeadline-style description of the incident, for website use.
TagsMulti-selectRelated tags, for website use.

Media & Content

VariableTypeDescription
urlURLLink to the post where the content was found. May be unavailable if content was removed.
sourceSingle selectPlatform where the content was posted. Twitter/X, Facebook, YouTube, Reddit, Politifact, The New York Times.
file_with_watermarkAttachmentVersion of the file with a PDID watermark.
screenshotAttachmentScreenshot of the post in context (showing account name, caption, engagement).
date_postedDateDate the content was posted at the URL.
formatSingle selectFormat of the manipulated content. Options: image, video, audio.
transcriptLong textTranscript of spoken content. NA if no spoken content.
summary_contentLong text1โ€“2 sentence description of what the content appears to depict.

Verification & Classification

VariableTypeDescription
typeSingle selectCoder's classification of the content.
comment_typeLong textCoder's explanation for their type classification.
HiveModeration_ScoreTextAI-detection probability score from Hive Moderation tool
sharer_faketypeSingle selectHow the sharer presented the content.
external_verificationSingle selectWhether external sources have verified the content's authenticity.
links_verificationLong textURLs to fact-checks, news articles, or platform labels verifying authenticity.
evidence_fakeLong textDescription of specific evidence that the content is fake.
watermarkSingle selectWhether a visible watermark or AI label is present. Options: yes, no, unclear_unknown.

type options:

ValueDefinition
deepfakeAI/ML-generated or manipulated synthetic media
cheapfakeLow-tech manipulation (crop, speed change, out-of-context reuse)
realAuthentic media, possibly shared in a misleading context
unclear/unknownAuthenticity cannot be determined

sharer_faketype options:

ValueDefinition
real_authenticSharer presented content as genuine
fakeSharer acknowledged content is manipulated or AI-generated
unclearCannot determine how sharer framed it

external_verification options:

ValueDefinition
verified_fakeExternal source confirmed content is fake
verified_realExternal source confirmed content is authentic
authenticity_disputedExternal sources disagree or are inconclusive
unknownNo evidence of verification attempts
no evidenceNo external sources address authenticity

Engagement Metrics

VariableTypeDescription
like_countTextLikes/favorites at time of coding. NA if not displayed.
view_countTextViews at time of coding. NA if not displayed.
comment_countTextComment count at time of coding. NA if not displayed.
share_countTextShares/retweets at time of coding. NA if not displayed.

Original Source

The "original source" is the account or entity that first created or posted the deepfake. This may differ from the sharer (the account found at the coded URL).

VariableTypeDescription
original_source_nameMulti-selectName of the original creator/poster.
other_original_source_nameTextFree-text name if not in dropdown.
original_source_usernameTextSocial media handle of original source.
original_source_typeMulti-selectEntity type of original source. Options: individual, group, NA, unclear_unknown.
original_source_actor_typeMulti-selectPolitical/institutional actor type.
original_source_countrySingle selectCountry of original source.
other_original_source_countryTextFree-text country if not in dropdown.
comments_coding_original_sourceLong textCoder's notes on original source identification.

original_source_actor_type options:

ValueDefinition
political_leader_figureElected official, candidate, or prominent political figure
government_entityOfficial government body or institution
private_ngoPrivate individual, company, or NGO
individualGeneric individual
unclear_unknownCannot determine

Sharer

The "sharer" is the specific account at the coded URL, not necessarily the original creator.

VariableTypeDescription
sharer_nameSingle selectName of the sharing account.
other_sharer_nameTextFree-text name if not in dropdown.
sharer_usernameTextSocial media handle of the sharer.
sharer_typeMulti-selectType of entity sharing the content. Options: individual, group, bot, high_impact_user, non-identifiable.
sharer_jobMulti-selectOccupation/role of the sharer. Options: politician, public_figure, journalist, researcher_academic, random_user, other, unclear_unknown.
sharer_countryMulti-selectCountry the sharer is associated with.
other_sharer_countryTextFree-text country if not in dropdown.
comments_sharer_codingLong textCoder's notes on sharer identification.

Targets

A "target" is a person, group, or entity depicted in the deepfake. Up to 10 targets can be coded per incident (target_one through target_ten). The fields below apply to each target slot (replace [n] with one, two, etc.).

VariableTypeDescription
target_[n]_nameSingle selectName of the target.
target_[n]_name_otherTextFree-text name if not in dropdown.
target_[n]_sentimentSingle selectHow the deepfake portrays the target. Options: Positive, Negative, Neutral.
target_[n]_type_macroSingle selectBroad target category. Options: individual, group, unclear_unknown.
target_[n]_type_microSingle selectSpecific target role.
target_[n]_countrySingle selectCountry the target is associated with.
target_[n]_country_otherTextFree-text country if not in dropdown.
target_[n]_respondedCheckboxWhether the target publicly responded to the deepfake.
target_[n]_responseLong textDescription or quote of the target's response.
comments_target_codingLong textCoder's notes on target identification.

target_[n]_type_micro options:

ValueDefinition
politicianElected official or candidate
public_figureCelebrity, influencer, or other prominent person
journalistReporter or media professional
random_userPrivate individual with no public profile
government_entityGovernment institution or body
privatePrivate company or organization
ngoNon-governmental organization
marginalized_groupGroup defined by race, religion, gender, sexuality, etc.
unclear_unknownCannot determine

Content & Topic

VariableTypeDescription
content_depictedMulti-selectThe topic or subject matter of the deepfake.
harm_depictedMulti-selectType of harm shown or implied within the content itself.
comments_content_topicLong textCoder's notes on content and harm depicted coding.
social_policy_sectorMulti-selectPolicy domain the deepfake relates to.
comments_social_policy_sectorLong textCoder's notes on sector coding.
context_deepfakeLong textBroader political/social context at time of posting.
text_around_deepfakeLong textCaption or text accompanying the post.

content_depicted options:

ValueDefinition
scandalTarget in a compromising situation
crimeTarget committing a crime
sex_relatedSexual content
crisis_eventEmergency or disaster
electionElectoral processes or campaigns
government_legal_systemLaws, courts, or government institutions
war_violenceArmed conflict or violence
international_relationsDiplomacy or cross-border relations
marginalized_groupTargets a marginalized community
deepfake_regulationDeepfake laws or AI policy

harm_depicted options:

ValueDefinition
violencePhysical harm, threats, or armed conflict depicted
human_rightsFundamental rights violations depicted
discriminationBias or prejudice against a group depicted
propertyProperty damage or theft depicted
environmentalEnvironmental destruction depicted
otherOther harm depicted
non-identifiableNo specific harm depicted

Real-World Harm

VariableTypeDescription
harm_evidenceMulti-selectTypes of real-world harm documented as a result of this deepfake. Only coded when evidenced.
comments_harms_contextLong textCoder's description of harm evidence found (or not found).

harm_evidence options:

ValueDefinition
violencePhysical violence occurred or was incited
human_rightsHuman rights violations resulted
discriminationDocumented discrimination or harassment
propertyProperty damage or financial harm
financial_lossEconomic harm (fraud, scam, market manipulation)
environmentEnvironmental harm resulted
political_interferenceInterference with democratic processes
otherOther documented harm
non_identifiableNo documented real-world harm found

Framing & Narrative

VariableTypeDescription
communication_goalMulti-selectSharer's apparent intent in sharing the content.
comments_communication_goalLong textCoder's notes on intent coding.
core_frameMulti-selectDominant rhetorical frame (Semetko & Valkenburg 2000). Options: conflict, human_interest, economic_consequences, morality, responsibility.
comments_core_frameLong textCoder's notes on framing.
heroTextWho is portrayed as the protagonist or positive force.
villainTextWho is portrayed as the antagonist or negative force.
plotTextThe story being told (1โ€“2 sentences).
moralTextThe implied lesson or takeaway.
comments_policy_narrativeLong textCoder's notes on narrative structure.