diff --git a/competitions/100Change2025/ansible/roles/100Change2025/files/100Change2025.php b/competitions/100Change2025/ansible/roles/100Change2025/files/100Change2025.php
index 1adc005359a2fdd15cd2515ba23805d0880274bd..22ed823707fe83fc54530d7aa4538f388c0e02a4 100644
--- a/competitions/100Change2025/ansible/roles/100Change2025/files/100Change2025.php
+++ b/competitions/100Change2025/ansible/roles/100Change2025/files/100Change2025.php
@@ -4,6 +4,7 @@ $wgLFCExtraTabOverrides["FINALIST_CANDIDATE"] = function() {
   if($wgUser->isSafeToLoad() && $wgUser->isAllowed("lfcanalysis")) {
     return [
       ["", "Original Proposal"],
+      ["Funder Update for ", "Funder Update"],
       ["Evaluations of ", "Evaluations"],
       ["LFC Analysis of ",  "Analysis"],
     ];
diff --git a/competitions/100Change2025/ansible/roles/100Change2025/files/FunderUpdate b/competitions/100Change2025/ansible/roles/100Change2025/files/FunderUpdate
new file mode 100644
index 0000000000000000000000000000000000000000..f1422d774f9aee9ea3137c4b8252019690a697a4
--- /dev/null
+++ b/competitions/100Change2025/ansible/roles/100Change2025/files/FunderUpdate
@@ -0,0 +1,2 @@
+Having trouble viewing the PDF below?  You can download it here: <a target="_blank" href="/100Change2025/index.php?title=Special:TorqueAttachment&collection_name=100Change2025&id={{proposal['Application #']}}&attachment={{ proposal['Attachments']['Funder Update'][0]['file']}}">Funder Update</a>
+<iframe src="/100Change2025/index.php?title=Special:TorqueAttachment&collection_name=100Change2025&id={{proposal['Application #']}}&attachment={{ proposal['Attachments']['Funder Update'][0]['file']}}" style="height:11in;width:800px"></iframe>
diff --git a/competitions/100Change2025/ansible/roles/100Change2025/tasks/main.yml b/competitions/100Change2025/ansible/roles/100Change2025/tasks/main.yml
index 47e62ca5142a0c3527e81171a417ac721ec41aa7..77c2daebc2b1527b658f4a9b642f5810af67a845 100644
--- a/competitions/100Change2025/ansible/roles/100Change2025/tasks/main.yml
+++ b/competitions/100Change2025/ansible/roles/100Change2025/tasks/main.yml
@@ -21,6 +21,7 @@
     src: "{{ item }}"
     dest: "{{ mediawiki_install_directory }}/{{ item }}"
   loop:
+    - FunderUpdate
     - 100ChangeProposal
     - LFC_Analysis
     - 100Change2025ExploreTable
@@ -28,6 +29,7 @@
 - name: Install 100Change2025 Templates
   raw: "php {{ mediawiki_install_directory }}/mediawiki-{{ mediawiki_version }}/maintenance/edit.php -b TorqueConfig:{{ item }} < {{ mediawiki_install_directory }}/{{ item }}"
   loop:
+    - FunderUpdate
     - 100ChangeProposal
     - LFC_Analysis
     - 100Change2025ExploreTable
@@ -37,6 +39,7 @@
     path: "{{ mediawiki_install_directory }}/{{ item }}"
     state: absent
   loop:
+    - FunderUpdate
     - 100ChangeProposal
     - LFC_Analysis
     - 100Change2025ExploreTable
diff --git a/competitions/100Change2025/etl/compose-and-upload b/competitions/100Change2025/etl/compose-and-upload
index 225d273ef11617801a39e58078590973ccce6599..e321dd93e1175749062171d8838c1e12ca75ace8 100755
--- a/competitions/100Change2025/etl/compose-and-upload
+++ b/competitions/100Change2025/etl/compose-and-upload
@@ -528,6 +528,9 @@ def main():
     attachments.specify_new_subcolumn(
         ".*Audited_Financial_Records.*pdf", "Financial", 2, "Audited Financial Records"
     )
+    attachments.specify_new_subcolumn(
+        ".*Funder_Update.pdf", "Funder Update", 3, "Funder Update"
+    )
     comp.add_supplemental_information(attachments)
 
     comp.add_supplemental_information(
@@ -916,6 +919,12 @@ def main():
                 """<div id="editor-container"></div>
 {{ #tdcrender:100Change2025/id/%s.mwiki|LFCAnalysis }}
 
+<!-- TABS: %s -->""" % (proposal.key(), tab_type),
+            )
+            my_wiki.create_page(
+                "Funder Update for %s" % proposal.cell("MediaWiki Title"),
+                """{{ #tdcrender:100Change2025/id/%s.mwiki|FunderUpdate }}
+
 <!-- TABS: %s -->""" % (proposal.key(), tab_type),
             )
 
diff --git a/competitions/100Change2025/etl/deploy b/competitions/100Change2025/etl/deploy
index 4cd68f8fb817e1cbebb5b4277c6bb42b487d53f3..00b020e724ba2cad11081f68e400fc3df6b44196 100755
--- a/competitions/100Change2025/etl/deploy
+++ b/competitions/100Change2025/etl/deploy
@@ -31,6 +31,7 @@ python3 -V > /dev/null 2>&1 || { echo "python3 required, aborting" ; exit 1; }
 PROPOSALS_CSV="100&Change2024_Registration_Application_2024-10-08_06-43-22.csv"
 PEER_RANKINGS_FILE="100&Change2024_Peer_Review_2024-11-12_16-53-10.csv"
 PANEL_RANKINGS_FILE="100&Change2024_Wise_Heads_data_2024-12-20_08-07-58.csv"
+FUNDER_UPDATES="Funder Updates.zip"
 TOP60="top60.csv"
 BASE_ATTACHMENTS="100&Change2024_Registration_Application_exports_2024-10-08_07-35-00"
 
@@ -67,6 +68,7 @@ if [ ! -d "${DATA_DIR}" ] ; then
   decrypt "${DATA_DIR}/${PEER_RANKINGS_FILE}" "${ENCRYPTED_DIR}/${PEER_RANKINGS_FILE}.gpg" "${GPG_PASSPHRASE}"
   decrypt "${DATA_DIR}/${PANEL_RANKINGS_FILE}" "${ENCRYPTED_DIR}/${PANEL_RANKINGS_FILE}.gpg" "${GPG_PASSPHRASE}"
   decrypt "${DATA_DIR}/${TOP60}" "${ENCRYPTED_DIR}/${TOP60}.gpg" "${GPG_PASSPHRASE}"
+  decrypt "${DATA_DIR}/${FUNDER_UPDATES}" "${ENCRYPTED_DIR}/${FUNDER_UPDATES}.gpg" "${GPG_PASSPHRASE}"
   mkdir "${DATA_DIR}/${BASE_ATTACHMENTS}/"
   ls "${ENCRYPTED_DIR}/$BASE_ATTACHMENTS/" | while read file ; do
       decrypt "${DATA_DIR}/${BASE_ATTACHMENTS}/${file/.gpg/}" "${ENCRYPTED_DIR}/$BASE_ATTACHMENTS/$file" "${GPG_PASSPHRASE}"
@@ -82,6 +84,15 @@ if [ ! -d "${DATA_DIR}" ] ; then
   mv "${TMP_ATTACHMENTS_DIR}/${PROPOSALS_CSV}" $DATA_DIR
   mv "${TMP_ATTACHMENTS_DIR}/Valid" $ATTACHMENTS_DIR
 
+  mkdir -p $TMP_ATTACHMENTS_DIR
+  unzip -d $TMP_ATTACHMENTS_DIR ${DATA_DIR}/${FUNDER_UPDATES}
+  ls $TMP_ATTACHMENTS_DIR | grep "^[[:digit:]]+ .*.pdf$" | while read file ; do
+    NUM="${file/ */}"
+    FUNDER_UPDATE_FILENAME="${NUM}_Funder_Update.pdf"
+    cp -v $TMP_ATTACHMENTS_DIR/$file ${ATTACHMENTS_DIR}/$NUM/$FUNDER_UPDATE_FILENAME;
+  done
+  rm -rf $TMP_ATTACHMENTS_DIR
+
   # Clean up large zips to save disk space
   rm "${DATA_DIR}/${BASE_ATTACHMENTS}.zip"
   rm -rf ${DATA_DIR}/${TMP_ATTACHMENTS_DIR}