"""
VeilPhantom — Gazetteers, whitelists, and static data sets.
Ported from RedactionPatterns.swift / RedactionData.
"""

COMPOUND_ORGS: set[str] = {
    "Standard Bank", "Fresh Hub", "ABC Capital", "XYZ Ventures",
    "Pick n Pay", "Shoprite", "Woolworths", "Checkers",
    "MTN", "Vodacom", "Cell C", "Telkom",
    "SARS", "CIPC", "SARB", "FSB",
    "Goldman Sachs", "JP Morgan", "Morgan Stanley", "Deutsche Bank",
    "McKinsey", "Bain", "BCG", "Deloitte", "PwC", "EY", "KPMG",
}

TECH_PRODUCTS: set[str] = {
    "jetpack", "woocommerce", "wordpress", "gutenberg", "elementor",
    "shopify", "squarespace", "webflow", "framer", "figma", "sketch",
    "firebase", "supabase", "prisma", "drizzle", "sequelize",
    "kubernetes", "terraform", "ansible", "puppet", "chef",
    "elasticsearch", "kibana", "grafana", "prometheus", "datadog",
    "twilio", "sendgrid", "mailchimp", "hubspot", "intercom",
    "heroku", "vercel", "netlify", "cloudflare", "fastly",
    "stripe", "plaid", "braintree", "paypal", "adyen",
}

ORG_CONTEXT_WORDS: set[str] = {
    "company", "companies", "firm", "firms", "corp", "corporation",
    "inc", "ltd", "llc", "startup", "startups", "venture", "ventures",
    "client", "clients", "partner", "partners", "vendor", "vendors",
    "subsidiary", "division", "brand", "brands", "platform", "platforms",
    "provider", "providers", "supplier", "suppliers", "contractor",
    "agency", "agencies", "studio", "studios", "network", "networks",
    "founded", "acquired", "merged", "ipo", "funding", "investor",
    "portfolio", "competitor", "competitors",
}

COMMON_FIRST_NAMES: set[str] = {
    "Michael", "Lisa", "Sarah", "David", "James", "John", "Robert",
    "William", "Richard", "Joseph", "Thomas", "Charles", "Daniel",
    "Matthew", "Anthony", "Mark", "Donald", "Steven", "Paul", "Andrew",
    "Mary", "Jennifer", "Linda", "Patricia", "Elizabeth", "Barbara",
    "Susan", "Jessica", "Karen", "Nancy", "Margaret", "Sandra",
    "Ashley", "Emily", "Donna", "Michelle", "Dorothy", "Carol",
    "Amanda", "Melissa", "Deborah", "Stephanie", "Rebecca", "Sharon",
    "Laura", "Cynthia", "Kathleen", "Amy", "Angela", "Shirley",
    "Peter", "Brian", "Kevin", "Jason", "Timothy", "Ronald",
    "Edward", "Joshua", "Kenneth", "George", "Dennis", "Jerry",
    "Alexander", "Patrick", "Samuel", "Frank", "Raymond", "Jack",
    "Chris", "Christine", "Christopher", "Benjamin", "Stephen",
    "Kai", "Megan", "Bronwyn", "Eva", "Jules", "Grant",
}

PUBLIC_COMPANIES: list[str] = [
    "Apple", "Google", "Microsoft", "Amazon", "Meta", "Facebook",
    "Tesla", "Netflix", "Nvidia", "Adobe", "Salesforce", "Oracle",
    "IBM", "Intel", "Cisco", "SAP", "Activision", "Blizzard",
    "Twitter", "SpaceX", "OpenAI", "Anthropic", "Disney", "Warner",
    "Sony", "Samsung", "Toyota", "Volkswagen", "BMW", "Mercedes",
]

# Uppercased for fast lookup
WHITELIST: set[str] = {
    # Programming languages
    "PYTHON", "JAVA", "JAVASCRIPT", "TYPESCRIPT", "RUBY", "RUST", "SWIFT",
    "KOTLIN", "SCALA", "GOLANG", "PERL", "PHP", "BASH", "SHELL", "LUA",
    "HASKELL", "ELIXIR", "CLOJURE", "FORTRAN", "COBOL", "PASCAL", "LISP",
    "PROLOG", "ERLANG", "JULIA", "DART", "GROOVY", "POWERSHELL",
    "CPLUSPLUS", "CSHARP", "FSHARP", "OBJECTIVE", "ASSEMBLY",
    # Tech companies & products
    "AMAZON", "GOOGLE", "APPLE", "MICROSOFT", "META", "FACEBOOK", "TWITTER",
    "LINKEDIN", "NETFLIX", "SPOTIFY", "UBER", "LYFT", "AIRBNB", "STRIPE",
    "SLACK", "ZOOM", "DISCORD", "TELEGRAM", "WHATSAPP", "INSTAGRAM",
    "TIKTOK", "SNAPCHAT", "PINTEREST", "REDDIT", "GITHUB", "GITLAB",
    "BITBUCKET", "JIRA", "CONFLUENCE", "NOTION", "FIGMA", "SKETCH",
    "ADOBE", "PHOTOSHOP", "ILLUSTRATOR", "CANVA", "DROPBOX", "DRIVE",
    "ICLOUD", "ONEDRIVE", "SALESFORCE", "HUBSPOT", "ZENDESK", "INTERCOM",
    "TWILIO", "SENDGRID", "MAILCHIMP", "SHOPIFY", "SQUARESPACE", "WORDPRESS",
    "KINDLE", "IPAD", "IPHONE", "MACBOOK", "IMAC", "ANDROID", "WINDOWS",
    "LINUX", "UBUNTU", "DEBIAN", "FEDORA", "CENTOS", "DOCKER", "KUBERNETES",
    "TERRAFORM", "ANSIBLE", "JENKINS", "TRAVIS", "CIRCLECI", "VERCEL",
    "NETLIFY", "HEROKU", "DIGITALOCEAN", "LINODE", "VULTR", "CLOUDFLARE",
    "AKAMAI", "FASTLY", "NGINX", "APACHE", "REDIS", "MONGODB", "POSTGRES",
    "POSTGRESQL", "MYSQL", "SQLITE", "ELASTICSEARCH", "KAFKA", "RABBITMQ",
    "GRAPHQL", "REST", "GRPC", "WEBSOCKET", "OAUTH", "JWT", "CORS",
    "DELL", "HP", "LENOVO", "ASUS", "ACER", "SAMSUNG", "SONY", "LG",
    "NVIDIA", "AMD", "INTEL", "QUALCOMM", "BROADCOM", "CISCO", "ORACLE",
    "IBM", "SAP", "VMWARE", "CITRIX", "SPLUNK", "DATADOG", "NEWRELIC",
    "SENTRY", "PAGERDUTY", "OPSGENIE", "CODERPAD", "HACKERRANK", "LEETCODE",
    # Tech terms & acronyms
    "AI", "API", "IOS", "MACOS", "PDF", "URL", "SDK", "CLI", "UI", "UX",
    "GPU", "CPU", "RAM", "SSD", "USB", "WIFI", "HTTP", "HTTPS", "JSON", "XML",
    "HTML", "CSS", "JS", "TS", "SQL", "AWS", "GCP", "MVP", "POC", "QA",
    "CI", "CD", "PR", "MR", "IDE", "VSC", "VIM", "GIT", "NPM", "YARN",
    "APP", "WEB", "DEV", "OPS", "SRE", "CTO", "CEO", "CFO", "COO", "VP",
    "B2B", "B2C", "SAAS", "PAAS", "IAAS", "CRM", "ERP", "KPI", "ROI", "OKR",
    "LLM", "GPT", "ASR", "TTS", "VAD", "ANE", "ARM", "OOP", "DRY", "SOLID",
    "AGILE", "SCRUM", "KANBAN", "SPRINT", "BACKLOG", "STANDUP", "RETRO",
    # Filler words & interjections
    "BRO", "OK", "OKAY", "ASAP", "FYI", "TBD", "ETA",
    "HI", "HELLO", "HEY", "YO", "YEAH", "YEP", "NAH", "YUP", "NUH",
    "MM", "HMM", "UH", "UM", "AH", "OH", "EH", "MEH", "ERR", "URN",
    "OOPS", "WHOOPS", "OOH", "AAH", "WOW", "WHOA", "HUH", "DUH",
    "UHUH", "UHHUH", "MMHMM", "MHMM", "NUH", "NAW", "YA", "YAH",
    "ALRIGHT", "RIGHT", "SURE", "FINE", "COOL", "GREAT", "NICE",
    "AWESOME", "PERFECT", "EXACTLY", "INDEED", "ABSOLUTELY", "TOTALLY",
    "BASICALLY", "ACTUALLY", "LITERALLY", "HONESTLY", "SERIOUSLY",
    "ANYWAY", "ANYWAYS", "WHATEVER", "WHENEVER", "WHEREVER", "HOWEVER",
    "GONNA", "WANNA", "GOTTA", "KINDA", "SORTA", "LEMME", "GIMME",
    # Honorifics
    "MR", "MRS", "MS", "DR", "PROF", "SIR", "MADAM",
    # Days/months
    "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY",
    "MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN",
    "JANUARY", "FEBRUARY", "MARCH", "APRIL", "MAY", "JUNE",
    "JULY", "AUGUST", "SEPTEMBER", "OCTOBER", "NOVEMBER", "DECEMBER",
    # Currencies
    "RAND", "RANDS", "ZAR", "USD", "EUR", "GBP", "JPY", "CNY", "INR",
    "DOLLAR", "DOLLARS", "EURO", "EUROS", "POUND", "POUNDS", "YEN",
    # Common words
    "GO", "GET", "SET", "RUN", "USE", "ADD", "NEW", "OLD", "BIG", "TOP",
    "YES", "NO", "AND", "BUT", "FOR", "THE", "THIS", "THAT", "WHICH",
    "TEAM", "APP", "VERSION", "SYSTEM", "INTEGRATION", "PROGRESS", "UPDATE",
    "BOOK", "PAGE", "LIST", "ARRAY", "STRING", "CLASS", "FUNCTION", "METHOD",
    "OBJECT", "TYPE", "VALUE", "KEY", "DATA", "FILE", "CODE", "TEST",
    "LIBRARY", "FRAMEWORK", "MODULE", "PACKAGE", "IMPORT", "EXPORT",
    "TRUE", "FALSE", "NULL", "NONE", "NIL", "UNDEFINED", "NAN",
    "PRINT", "RETURN", "IF", "ELSE", "WHILE", "FOR", "SWITCH", "CASE",
    "TRY", "CATCH", "THROW", "ASYNC", "AWAIT", "PROMISE", "CALLBACK",
    "SHARE", "OFF", "ON", "IN", "OUT", "UP", "DOWN", "LEFT", "RIGHT",
    "ALSO", "JUST", "ONLY", "EVEN", "STILL", "ALREADY", "YET", "MUCH",
    "VERY", "REALLY", "QUITE", "PRETTY", "RATHER", "FAIRLY", "SOMEWHAT",
    "COMPANY", "BUSINESS", "ENTERPRISE", "STARTUP", "PRODUCT", "SERVICE",
    "LET", "HERE", "THERE", "WHERE", "WHEN", "WHAT", "HOW", "WHY",
    "THANKS", "THANK", "WELCOME", "PLEASE", "SORRY", "EXCUSE",
    "REMEMBER", "FORGOT", "FORGET", "KNOW", "THINK", "BELIEVE",
    "WANT", "NEED", "HAVE", "MAKE", "TAKE", "GIVE", "FIND", "TELL",
    "SAY", "SAID", "SAYING", "SAYS", "TOLD", "ASKED", "ANSWERED",
    "LOOK", "SEE", "WATCH", "HEAR", "LISTEN", "FEEL", "TOUCH",
    "START", "BEGIN", "END", "FINISH", "STOP", "CONTINUE", "KEEP",
    "COME", "CAME", "COMING", "WENT", "GOING", "GONE", "LEAVE", "LEFT",
    "SOUND", "SOUNDS", "SEEM", "SEEMS", "APPEAR", "APPEARS",
    "NOW", "THEN", "SOON", "LATER", "BEFORE", "AFTER", "DURING",
    "EVERYONE", "SOMEONE", "ANYONE", "NOBODY", "EVERYBODY", "SOMEBODY",
    "EVERYTHING", "SOMETHING", "ANYTHING", "NOTHING",
    "YOU", "YOUR", "YOURS", "YOURSELF", "THEY", "THEM", "THEIR", "THEIRS",
    "WE", "US", "OUR", "OURS", "OURSELVES",
    "SPEAKER", "HOST", "GUEST", "CHAIR", "CHAIRMAN", "CHAIRWOMAN",
    "MODERATOR", "PRESENTER", "PANELIST", "ATTENDEE", "PARTICIPANT",
    "INTERVIEWER", "INTERVIEWEE", "APPLICANT", "CANDIDATE", "RECRUITER",
    "INSTRUCTOR", "STUDENT", "TEACHER", "PROFESSOR", "LECTURER",
    "MANAGER", "DIRECTOR", "EXECUTIVE", "ANALYST", "ENGINEER",
    "DEVELOPER", "DESIGNER", "ARCHITECT", "CONSULTANT", "ADVISOR",
    "CLIENT", "CUSTOMER", "VENDOR", "PARTNER", "COLLEAGUE",
    "INTRO", "OUTRO", "MUSIC", "AUDIO", "VIDEO", "SLIDE", "SLIDES",
    "CORP", "INC", "LLC", "LTD", "SOLUTIONS", "SERVICES", "TECHNOLOGIES",
    "INDUSTRIES", "HOLDINGS", "PARTNERS", "ASSOCIATES", "CONSULTING",
    "EMPOWER", "INNOVATE", "TRANSFORM", "OPTIMIZE", "STREAMLINE",
    "YAHOO", "BING", "BAIDU", "DUCKDUCKGO", "TESLA", "ACTIVISION", "SPACEX",
    "GOOD", "BAD", "BEST", "BETTER", "WORSE", "WORST",
    "HAPPY", "SAD", "GLAD", "SORRY", "EXCITED", "NERVOUS",
    "TODAY", "TOMORROW", "YESTERDAY", "MORNING", "AFTERNOON", "EVENING", "NIGHT",
    "FIRST", "SECOND", "THIRD", "LAST", "NEXT", "FINAL", "PREVIOUS",
    "SPECIFICALLY", "GENERALLY", "USUALLY", "TYPICALLY", "NORMALLY",
    "CONFERENCE", "MEETING", "CALL", "SESSION", "WORKSHOP", "SEMINAR",
    "FINANCE", "CORPORATE", "COMMITTEE", "BOARD", "COUNCIL", "DEPARTMENT",
    "LECTURE", "LESSON", "CLASS", "COURSE", "TUTORIAL", "TRAINING",
    "COMPETITION", "CONTEST", "CHALLENGE", "GAME", "MATCH", "RACE",
    "WINNER", "LOSER", "LOSERS", "WINNERS", "CHAMPION", "RUNNER",
    "IMAGINE", "CONSIDER", "SUPPOSE", "ASSUME", "EXPECT", "HOPE",
    "DON", "DONT", "WON", "WONT", "CAN", "CANT", "SHOULD", "SHOULDNT",
    "WOULD", "WOULDNT", "COULD", "COULDNT", "MIGHT", "MUST", "MUSTNT",
    "CONFIDENCE", "TRUST", "BELIEF", "FAITH", "DOUBT", "FEAR",
    "IDEA", "IDEAS", "THOUGHT", "THOUGHTS", "OPINION", "OPINIONS",
    "QUESTION", "ANSWER", "PROBLEM", "SOLUTION", "ISSUE", "TOPIC",
    "YORK", "CITY", "TOWN", "STATE", "COUNTRY", "WORLD", "GLOBAL",
    "NAME", "NAMES", "TITLE", "TITLES", "ROLE", "ROLES", "POSITION",
    "THRIVE", "GROW", "SUCCEED", "FAIL", "WIN", "LOSE", "ACHIEVE",
    "WITH", "ALPHA", "BETA", "GAMMA", "DELTA", "EPSILON", "OMEGA",
    "GERMANY", "FRANCE", "SPAIN", "ITALY", "JAPAN", "CHINA", "BRAZIL",
    "AUSTRALIA", "CANADA", "MEXICO", "RUSSIA", "TURKEY", "EGYPT", "NIGERIA",
    "KENYA", "GHANA", "SWEDEN", "NORWAY", "DENMARK", "FINLAND", "POLAND",
    "PORTUGAL", "BELGIUM", "NETHERLANDS", "SWITZERLAND", "AUSTRIA",
    "IRELAND", "SCOTLAND", "ENGLAND", "WALES",
    "AD", "ADS",
    "SEO", "PPC", "NOT", "FIRM", "FIRMS", "BRAND", "BRANDS",
    "MANAGEMENT", "ORGANISE", "ORGANIZE", "ORGANISED", "ORGANIZED",
    "AFRICA", "CC", "ONE", "COMPANIES", "VENTURE", "CAPITAL",
    "ANALYTICS", "AFFILIATE", "AFFILIATES", "THESE", "THOSE",
    "SOME", "MANY", "MOST", "EACH", "EVERY", "ALL", "BOTH",
    "REDIRECT", "REDIRECTS", "WEBB", "SETUP", "SERUP",
    "WORK", "DOCS", "CONF", "DASH", "STUDIO", "LEARN",
    "HOSTING", "SERVER", "PLUGIN", "DASHBOARD", "DOMAIN",
    "CPANEL", "PLESK", "PARALLELS", "PARALLELUS",
    "LEARNDASH", "ELEMENTOR", "DIVI", "YOAST",
    "WOOCOMMERCE", "JETPACK", "GUTENBERG",
    "NAMESERVER", "DNS", "SSL", "SSH", "FTP", "SMTP",
    "NILO", "SAGE",
    "CLAUDE", "FLUTTER", "GEMINI", "SEMRUSH", "ASANA",
    "FIREBASE", "BIGQUERY", "WEBFLOW", "ROBLOX",
    "WORKSPACE", "CIAO", "SCREAMING", "FROG",
    "BASA", "VALE", "CLICKUP", "SENTRY", "LOOKER",
    "KERSON", "LOADCODE", "FLOWDESK", "ODOO",
    "FONT", "COLLECTION", "WAIT", "MMM", "STANK",
    "LEMON", "CACHING", "RETARGETING", "INCOGNITO",
    "HETZNER", "UPTIMEROBOT", "PYANNOTE", "SORTFORMER",
    "N8N", "ZAPIER", "MAKE", "AIRTABLE",
    # App-specific
    "VEIL", "PARAKEET", "FLUIDAUDIO",
}
