|
21 | 21 |
|
22 | 22 |
|
23 | 23 | class CUICategory(Enum): |
24 | | - """CUI Registry categories per 32 CFR Part 2002.""" |
| 24 | + """CUI Registry categories per 32 CFR Part 2002 and NARA CUI Registry. |
| 25 | +
|
| 26 | + Organized by CUI Registry groupings from archives.gov/cui/registry/category-list. |
| 27 | + Includes both CUI Basic and CUI Specified categories. |
| 28 | + """ |
| 29 | + # --- Critical Infrastructure --- |
25 | 30 | CTI = "Controlled Technical Information" |
26 | | - PRVCY = "Privacy" |
27 | | - INTEL = "Intelligence" |
28 | | - EXPT = "Export Controlled" |
| 31 | + DCRIT = "Critical Infrastructure" |
| 32 | + PCII = "Protected Critical Infrastructure Information" |
| 33 | + CEII = "Critical Energy Infrastructure Information" |
| 34 | + SSI = "Sensitive Security Information" |
| 35 | + |
| 36 | + # --- Defense --- |
29 | 37 | ITAR = "International Traffic in Arms Regulations" |
| 38 | + EXPT = "Export Controlled" |
| 39 | + SAMI = "Controlled Technical Information - Space" |
| 40 | + NOFORN_DATA = "Not Releasable to Foreign Nationals Data" |
| 41 | + UCNI = "Unclassified Controlled Nuclear Information" |
| 42 | + NNPI = "Naval Nuclear Propulsion Information" |
| 43 | + TFNI = "Transclassified Foreign Nuclear Information" |
| 44 | + DoD_UCTI = "DoD Unclassified Controlled Technical Information" |
| 45 | + |
| 46 | + # --- Export Control --- |
| 47 | + EI = "Export Information" |
| 48 | + |
| 49 | + # --- Financial --- |
| 50 | + TAX = "Federal Taxpayer Information" |
| 51 | + BUDGT = "Budget" |
| 52 | + FTI = "Federal Tax Information" |
| 53 | + BANK_SECRECY = "Bank Secrecy" |
30 | 54 | PROPIN = "Proprietary Business Information" |
| 55 | + PRIV_FIN = "Privileged Financial Information" |
| 56 | + PROCUREMENT = "Source Selection Information" |
| 57 | + |
| 58 | + # --- Immigration --- |
| 59 | + IMMIG = "Immigration" |
| 60 | + VISA = "Visa Information" |
| 61 | + |
| 62 | + # --- Intelligence --- |
| 63 | + INTEL = "Intelligence" |
| 64 | + FISA = "Foreign Intelligence Surveillance Act" |
| 65 | + HUMINT = "Human Intelligence" |
| 66 | + SIGINT = "Signals Intelligence" |
| 67 | + GEOINT = "Geospatial Intelligence" |
| 68 | + OSINT = "Open Source Intelligence" |
| 69 | + MASINT = "Measurement and Signature Intelligence" |
| 70 | + |
| 71 | + # --- International Agreements --- |
| 72 | + INTL_AGREE = "International Agreement Information" |
| 73 | + |
| 74 | + # --- Law Enforcement --- |
31 | 75 | LES = "Law Enforcement Sensitive" |
| 76 | + LESI = "Law Enforcement Sensitive Investigation" |
| 77 | + GRAND_JURY = "Grand Jury Information" |
| 78 | + INFORMANT = "Confidential Informant Identity" |
| 79 | + WITNESS = "Witness Protection Information" |
| 80 | + SURVEIL = "Surveillance Information" |
| 81 | + DEA_SENS = "DEA Sensitive Information" |
| 82 | + |
| 83 | + # --- Legal --- |
| 84 | + LEGAL = "Legal Privilege" |
| 85 | + ATTY_WORK = "Attorney Work Product" |
| 86 | + ATTY_CLIENT = "Attorney-Client Privilege" |
| 87 | + DELIBERATIVE = "Deliberative Process" |
| 88 | + |
| 89 | + # --- Natural & Cultural Resources --- |
| 90 | + ARCH = "Archaeological Resource Information" |
| 91 | + CULTURAL = "Cultural Resource Information" |
| 92 | + SPECIES = "Endangered Species Information" |
| 93 | + |
| 94 | + # --- Nuclear --- |
| 95 | + OCA = "Original Classification Authority" |
| 96 | + NNSA = "NNSA Information" |
| 97 | + NUCLEAR = "Nuclear Security Information" |
| 98 | + |
| 99 | + # --- Operations Security --- |
| 100 | + OPSEC = "Operations Security" |
| 101 | + COMSEC = "Communications Security" |
| 102 | + |
| 103 | + # --- Patent --- |
| 104 | + PATENT = "Patent Application Information" |
| 105 | + INVENTION = "Invention Secrecy Act" |
| 106 | + |
| 107 | + # --- Privacy --- |
| 108 | + PRVCY = "Privacy" |
| 109 | + PII = "Personally Identifiable Information" |
| 110 | + HIPAA = "Health Insurance Portability and Accountability Act" |
| 111 | + GENE = "Genetic Information" |
| 112 | + SORN = "System of Records Notice Information" |
| 113 | + EDUCATIONAL = "Student Educational Records (FERPA)" |
| 114 | + SUBSTANCE = "Substance Abuse Treatment Records (42 CFR Part 2)" |
| 115 | + |
| 116 | + # --- Provisional (Legacy) --- |
32 | 117 | FOUO = "For Official Use Only" |
33 | 118 | SBU = "Sensitive But Unclassified" |
34 | | - SSI = "Sensitive Security Information" |
35 | | - PCII = "Protected Critical Infrastructure Information" |
| 119 | + |
| 120 | + # --- Public Health --- |
36 | 121 | PHLTH = "Public Health" |
37 | | - TAX = "Federal Taxpayer Information" |
38 | | - LEGAL = "Legal Privilege" |
39 | | - OPSEC = "Operations Security" |
| 122 | + SELECT_AGENT = "Select Agent and Toxin Information" |
| 123 | + BSAT = "Biological Select Agents and Toxins" |
| 124 | + PANDEMIC = "Pandemic Preparedness Information" |
| 125 | + |
| 126 | + # --- Safety --- |
| 127 | + SAFETY_ACT = "SAFETY Act Information" |
| 128 | + CHEM = "Chemical Facility Anti-Terrorism Standards" |
| 129 | + |
| 130 | + # --- Statistical --- |
| 131 | + CENSUS = "Census" |
| 132 | + CIPSEA = "CIPSEA Statistical Information" |
| 133 | + |
| 134 | + # --- Technology & Science --- |
| 135 | + SBIR = "Small Business Innovation Research" |
| 136 | + STTR = "Small Business Technology Transfer" |
| 137 | + RESEARCH = "Controlled Research Information" |
| 138 | + |
| 139 | + # --- Physical & Information Security --- |
40 | 140 | PHYS = "Physical Security" |
41 | 141 | INFOSEC = "Information Systems Vulnerability Information" |
42 | | - BUDGT = "Budget" |
43 | | - CENSUS = "Census" |
44 | | - DCRIT = "Critical Infrastructure" |
45 | | - FISA = "Foreign Intelligence Surveillance Act" |
46 | | - GENE = "Genetic Information" |
| 142 | + VULN = "Vulnerability Assessment Information" |
| 143 | + PENTEST = "Penetration Testing Information" |
| 144 | + INCIDENT = "Cybersecurity Incident Information" |
| 145 | + |
| 146 | + # --- Geospatial --- |
47 | 147 | GEO = "Geospatial" |
48 | | - PII = "Personally Identifiable Information" |
49 | | - SAMI = "Controlled Technical Information - Space" |
| 148 | + GEO_PROD = "Geospatial Product Information" |
| 149 | + |
| 150 | + # --- Transportation --- |
| 151 | + SSTI = "Sensitive Surface Transportation Information" |
| 152 | + RAIL = "Rail Security Information" |
50 | 153 |
|
51 | 154 |
|
52 | 155 | class ClassificationLevel(Enum): |
@@ -165,6 +268,16 @@ class CUIDetector: |
165 | 268 | re.compile(r'\b(LES|LAW\s+ENFORCEMENT\s+SENSITIVE)\b', re.IGNORECASE): CUICategory.LES, |
166 | 269 | re.compile(r'\b(SSI|SENSITIVE\s+SECURITY\s+INFORMATION)\b', re.IGNORECASE): CUICategory.SSI, |
167 | 270 | re.compile(r'\b(PCII|PROTECTED\s+CRITICAL\s+INFRASTRUCTURE\s+INFORMATION)\b', re.IGNORECASE): CUICategory.PCII, |
| 271 | + re.compile(r'\b(CEII|CRITICAL\s+ENERGY\s+INFRASTRUCTURE\s+INFORMATION)\b', re.IGNORECASE): CUICategory.CEII, |
| 272 | + re.compile(r'\b(UCNI|UNCLASSIFIED\s+CONTROLLED\s+NUCLEAR\s+INFORMATION)\b', re.IGNORECASE): CUICategory.UCNI, |
| 273 | + re.compile(r'\b(NNPI|NAVAL\s+NUCLEAR\s+PROPULSION\s+INFORMATION)\b', re.IGNORECASE): CUICategory.NNPI, |
| 274 | + re.compile(r'\b(FTI|FEDERAL\s+TAX\s+INFORMATION)\b', re.IGNORECASE): CUICategory.FTI, |
| 275 | + re.compile(r'\b(SBIR|SMALL\s+BUSINESS\s+INNOVATION\s+RESEARCH)\b', re.IGNORECASE): CUICategory.SBIR, |
| 276 | + re.compile(r'\b(STTR|SMALL\s+BUSINESS\s+TECHNOLOGY\s+TRANSFER)\b', re.IGNORECASE): CUICategory.STTR, |
| 277 | + re.compile(r'\b(COMSEC|COMMUNICATIONS\s+SECURITY)\b', re.IGNORECASE): CUICategory.COMSEC, |
| 278 | + re.compile(r'\b(SAFETY\s+ACT\s+(?:PROTECTED|INFORMATION))\b', re.IGNORECASE): CUICategory.SAFETY_ACT, |
| 279 | + re.compile(r'\b(CHEM[-\s]?SECURITY|CFATS|CHEMICAL\s+FACILITY\s+ANTI[-\s]?TERRORISM)\b', re.IGNORECASE): CUICategory.CHEM, |
| 280 | + re.compile(r'\b(DELIBERATIVE\s+(?:PROCESS|PRIVILEGE))\b', re.IGNORECASE): CUICategory.DELIBERATIVE, |
168 | 281 | } |
169 | 282 |
|
170 | 283 | # Classification banner patterns |
|
0 commit comments