公開紀錄請求
目標: 以低成本取得一份指定的文件,且不惹惱日後可能還需要聯絡的機關。完成 = 檔案已存於磁碟、已快取,並記錄其來源與權利狀態——或收到一份書面的「我們沒有該資料」,這同樣可結案,也是一種勝利。
關卡:必須由真人送出。 草擬、驗證收件人、存檔、標註為草稿,然後停止。任何帶有CAPTCHA和簽名勾選框的入口網站,只能由真人操作。
步驟 0 — 先閱讀該機關網站。這是最省錢的規則。
在草擬任何內容前,先到該機關自己的網站上尋找該文件。
已公布的收費標準,證明的是該機關經常被索取資料,而不是索取資料一定得付費。 某個縣曾被報導以每年34.50美元的價格販售其資本化率研究報告,但同一份報告過去四年的資料卻免費公布在其統計頁面上。一次網頁抓取就省下了這筆錢和三週的等待時間。
接著檢查鄰近機關:一個州級機關可能公布縣級機關不願提供的彙整資料(但需閱讀其實際涵蓋範圍——一份州的「資本化率研究」可能只涵蓋州級評估的公用事業和鐵路財產)。並正確確認否定結果:在該機關已公布的報告中搜尋你的關鍵字。唯有確認沒有,才能使請求成為取得資料的唯一途徑。
步驟 1 — 找到正確的機關,並說對其名稱
沒有任何兩個州對機關的稱呼是相同的。 寫給錯誤的單位只會石沉大海。以商業物業估價為例:
| 州 | 誰負責商業物業估價 |
|---|---|
| MN、IA、NE | 縣 Assessor |
| KS | 縣 Appraiser |
| ND | 縣 Director of Tax Equalization |
| SD | 縣 Director of Equalization |
| WI | 沒有縣級 assessor——估價由市鎮級負責,因此應寫信給市政府 |
此外:有些州將大城市併入縣級 assessor 管轄(愛荷華州:Polk 郡涵蓋 Des Moines);有些則否(北達科他州:Fargo 市和 Cass 郡是分開的)。
管道優先順序:電子郵件、入口網站、郵寄。
- 電子郵件:只要有地址就優先使用。在機關自己的頁面上驗證該地址。
- 入口網站(GovQA、NextRequest):僅在未公布電子郵件地址時使用。入口網站需要真人操作帳號、CAPTCHA 和具約束力的簽名勾選框。
- 郵寄:最後手段;在草稿標題中註明為備用方案。
有些頁面透過腳本渲染,使用 curl 無法取得有用內容。請用 Python 去除標籤並搜尋 @;如果確實沒有電子郵件地址,請如實說明,而不是猜測一個。
步驟 2 — 關鍵段落本身就是整個請求
在信件中主動指明保密法規並予以排除。 缺少這段,請求會直接被整體拒絕,因為保密條款是機關直覺反應的依據。有了這段,問題就不再是「我們能釋出這個嗎?」,而是變成「你指的是我們哪一份表格?」。
只請求機關自行編製的、全縣通用的表格與研究,這些資料不包含個別地塊或可識別所有者的資料,並主動表示願意接收經遮蔽所有者提交部分後的混合文件。
用於 assessor 請求且已成功使用的條款(請對照現行法規驗證):
| 州 | 依據法規提出請求 | 排除條款 |
|---|---|---|
| MN | Minn. Stat. 13.03 subd. 3 | 13.51 subd. 2 — 所有者提交的收入/支出、空置率、可出租面積、租約 |
| KS | K.S.A. 45-215 et seq.(保管人:45-218) | 45-221(b) — 納稅人提供給 appraiser 的財務資訊 |
| IA | Iowa Code ch. 22 | 22.7 商業機密 — 並引用 441.21(3)(a),該條款肯定地要求揭露公式或方法,以及 441.19(1)(a) |
| NE | Neb. Rev. Stat. 84-712 | 84-712.05(3) 商業機密 / 專有資訊 |
| ND | N.D.C.C. 44-04-18 | 44-04-18.4 商業機密 / 商業資訊 |
| SD | SDCL 1-27-1 | 該州 assessor 保密條款的對等條文 |
若某法規強制要求揭露,請引用它(如上述愛荷華州案例):它會完全優先於保密條款。
不要改寫已被接受的段落。 一旦某個機關接受了你的措辭,就對其同級機關原封不動地重複使用,只需更換名稱;改寫過的版本會引來第二輪的範圍釐清問題。透過對照原始已被接受的版本進行雜湊比對,來驗證段落未被批次編輯破壞。
步驟 3 — 第一封信中永遠要包含的三件事
- 要求五年,而非一年。 「涵蓋2022年至2026年(含)的評估年度。」 對機關而言搜尋一次,就能獲得五倍的資料——而這個序列本身就是有價值的產品(它顯示了機關如何調整其費率)。加上:「請寄送您們持有的任何年份;部分回答也是有幫助的回答。」 如此,即使缺少某一年份,也不會使回覆停滯。
- 給他們一個簡單的退場機制。 「若貴辦公室並不維護此類表格,一行字說明即可結案,我不會再跟進。」 一份書面的否定回答即為結案,對他們來說只需花費三十秒,而非撰寫拒絕函。
- 先索取費用估算。 「若處理此請求會產生費用,請先告知估算,我將縮小請求範圍。」 有些機關會同時按小時計費,用於尋找文件和遮蔽資料——等於同時啟動兩個計費碼表。
步驟 4 — 批次發送前的檢查
- 檢查每個收件人網域的MX記錄:
dig +short MX <domain>。可及早發現打字錯誤,避免十九次退信。 - 從頭到尾完整閱讀一封信件。 不是看差異比對,而是看完整的信件內容。
- 在整個活動中保持請求者身份一致(同一個人或同一家公司,同一地址),以便回覆能串連起來,沒有人會再問你是誰。
- 以純文字格式發送。強制換行的信件在HTML中會變形。
步驟 4b — 網頁表單是充滿敵意的管道。請為兩種陷阱做好準備。
-
不會告知你的字數上限。 訊息欄位可能會將2000個字元的內容無聲地截斷為1000字。對於任何表單,請事先準備一個簡短版本:法規引用、帶有年份範圍的請求內容、保密免責聲明、費用估算請求、聯絡方式。免責聲明是最後才能刪減的內容。
-
Web 應用防火牆直接拒絕整個內容(
Event Type: signature)。原因在於標點符號,而非長度:裸的撇號是標準的SQL注入特徵。 清除信件內容和主旨中的'"()&/;=<>--以及非ASCII字元。用 "and" 代替 "&",刪除法規小節而非用括號引用,說 "your Office derived" 而非 "the Office's"。用程式碼進行稽核:python3 -c "s=open('body.txt').read(); print({c:s.count(c) for c in \"'\"()&/;=<>\" if c in s})"
開始前就先知道備用方案: 隱藏電子郵件的機關仍然會公布街道地址。一個與你纏鬥三輪的表單不值得再試第四輪;改用郵寄。
步驟 5 — 記錄發送,否則等於沒發生過
保留法定主旨行——紀錄官據此分派信件,回覆也會以此為線索串連。將每份草稿的標題從 NOT SENT 改為 SENT <日期> from <地址>, messageId <識別碼>,將信件正文原封不動地保留在下方作為記錄,並更新你的追蹤清單。重新檢查每個被批次編輯觸及的行:對狀態欄進行全域搜尋並取代,可能會不小心將未發送的網頁表單列標記為 SENT。
步驟 5b — 需要附件的回覆
某些郵件 MCP(例如 Zoho)無法上傳附件。透過交易型郵件服務(例如 Mailgun),從同一個地址發送該回覆,並設定 h:In-Reply-To 和 h:References 為機關訊息的 Message-ID,以串連回覆,並保留其主旨。使用 curl 時,請對每個標頭和內容欄位使用 --form-string——-F 會將以 <(每個 Message-ID)或 @ 開頭的值視為「讀取此檔案」。透過服務商的 events API 確認投遞成功。
機關自己的表單通常在其網站上。 如果是平面 PDF,使用 reportlab 疊加文字,將詳細規格放在第二頁,並在發送前將頁面渲染為 PNG 並檢視(文字落在標籤上的情況遠比你想像常見)。
歸還表單時要縮小範圍。 費用警告是說明你已持有的資料、並僅要求剩餘部分的最佳時機,記得先要求費用估算。
一個指明輸入資料的軟性拒絕,並非對衍生表格的拒絕。 「我們使用來自租金調查的數據,這些數據是保密的。」這句話透過指向保密的輸入資料來回答一項請求,但跳過了衍生出來的研究報告。將被跳過的項目重新以是/否方式提問,感謝他們,並再次提供一行退場機制。保持禮貌:你將來還需要這個機關的下一次答覆。
步驟 6 — 追蹤,因為通常沒有截止期限
那個短時限通常不適用於你。 入口網站標示的「10個工作天」可能僅適用於查詢自身資料的資料當事人。一般性的政府資料請求通常只會得到「合理的時間」(例如 Minn. Stat. 13.03 subd. 3),這根本沒有設定時限。唯有持續追蹤才能施加壓力。 在發送當天即安排大約兩週後的追蹤(參見 pending-queue 鉤子),內容包含案件編號、入口網站路徑、指定聯絡人以及「請勿改寫請求內容」。追蹤函僅是確認狀態;切勿在後續追蹤中重新定義請求範圍。
步驟 7 — 收到的資料可以再發布嗎?
在開始以此資料建構任何東西之前,先回答這個問題。
- 明尼蘇達州:可以,包括商業用途。 機關必須允許「不受限制地使用該資料,即使為商業目的,除非有特定法定授權禁止」—— 明尼蘇達州檢察長意見書 852 (1995)。
- 其他各州:事實本身無著作權(Feist 案判決)—— 只有特定的選擇或編排方式才可能享有。重新發布數字,不要發布其文件版面配置。 將資料重新表達到你自己的架構中。
- 其他地方,使用權部分尚無定論。 在主張之前,先閱讀該州的商業用途條款,並誠實地標記你的檔案(「尚未獲准再發布」是你的標記,而非機關的限制——不要將其引用為限制條件)。
步驟 8 — 解析收到的資料
將原始檔案與解析後的輸出一起快取,並記錄其 sha256 和標準 URL,切勿重新抓取。
不同年份間的標籤會發生偏移。 某個縣自己的列標籤,在四張年度報表中分別為 22、22、18、18,且物業類型會消失。手動編寫對照表,並在每筆記錄中保留原始標籤。切勿使用模糊比對 —— 這就是錯誤數字看似正確地被輸出的原因。消失的類型應視為不存在,而非零。
不要相信對 pdftotext 輸出進行正則表達式比對就能告訴你結構。 一個缺少數字的字元類別,可能會將 Warehouse <25% Office / >20K 在 2 處截斷,並無聲地將四行合併為兩行。在相信你的提取結果前,請將行數與來源進行比對。
在基於第二個來源進行跨來源比對之前,先證明其可行性。 同一個州的兩個縣,即使文件類型相同,也可能完全沒有完全相同的物業類型名稱。