
Security News
/Research
Fake Corepack Site Distributes Infostealer and Proxyware to Developers
A fake corepack.org site is impersonating the Node.js tool and delivers an infostealer and proxyware to developers who download it.
@civiq/entity-resolution
Advanced tools
Entity resolution for civic data — committee/agency alias matching, industry taxonomy, ticker-to-sector resolution, FEC entity deduplication
Entity resolution for civic data — committee/agency alias matching, industry taxonomy, ticker-to-sector resolution, FEC entity deduplication.
npm install @civiq/entity-resolution
import {
configure,
categorizeContribution,
resolveGovernmentEntity,
resolveTickerIndustry,
deduplicateContributions,
} from '@civiq/entity-resolution';
// Optional: provide your own logger and cache
configure({
logger: myLogger,
cache: myRedisAdapter,
});
// Categorize a campaign contribution by employer/occupation
const result = categorizeContribution('Goldman Sachs', 'Investment Banker');
// { sector: 'Finance/Insurance/Real Estate', category: 'Commercial Banks', confidence: 'high', ... }
// Resolve LDA government_entities to committees/agencies
const entity = resolveGovernmentEntity('Senate Committee on Finance');
// { type: 'committee', committeeCode: 'SSFI', committeeName: 'Finance', confidence: 1.0, ... }
// Resolve stock ticker to industry sector (async, uses SEC EDGAR)
const ticker = await resolveTickerIndustry('AAPL');
// { sector: 'Communications/Electronics', sicCode: '3571', confidence: 1.0 }
// Deduplicate FEC contributions by entity
const unique = deduplicateContributions(rawContributions);
// Just the industry taxonomy
import { IndustrySector, categorizeContribution } from '@civiq/entity-resolution/industry-taxonomy';
// Just the committee-agency mapping
import {
ALL_COMMITTEE_MAPPINGS,
getAgenciesForCommittee,
} from '@civiq/entity-resolution/committee-agency-map';
By default, the package uses no-op logger and no-op cache. For production use, call configure() once at startup:
import { configure } from '@civiq/entity-resolution';
configure({
logger: {
debug: console.log,
info: console.log,
warn: console.warn,
error: console.error,
},
cache: {
get: async key => redis.get(key),
set: async (key, value, ttl) => redis.set(key, value, 'EX', ttl),
},
});
categorizeContribution(employer?, occupation?) — Classify by employer/occupation keywordscategorizePACByName(name?) — Classify PAC/committee by namecategorizeContributionSmart(employer?, occupation?, name?) — Try all methodsaggregateByIndustrySector(contributions) — Aggregate contributions by sectorgetTopCategories(contributions, limit?) — Top categories across sectorsgetAgenciesForCommittee(name) — Agencies a committee overseesgetCommitteesForAgency(slug) — Committees that oversee an agencygetTopicsForCommittee(name) — Topics for a committeeALL_COMMITTEE_MAPPINGS — All 29 committee mappingsresolveGovernmentEntity(entity) — 3-tier resolution (noise/exact/fuzzy)resolveFilingEntities(entities) — Batch resolutiongetResolvedCommittees(resolutions) — Extract committee codesresolveTickerIndustry(ticker) — Ticker to IndustrySector via SEC EDGARsicToSector(sicCode) — SIC code to IndustrySectorgetLDAIssueLabel(code) — Human-readable labelgetPolicyAreasForLDAIssue(code) — Congress.gov policyArea stringsdeduplicateContributions(contributions) — Merge name variantsdeduplicateDisbursements(disbursements) — Merge recipientsentitiesMatch(entity1, entity2, threshold?) — Levenshtein similaritygetFECIdFromBioguide(id) — Bioguide ID to FEC candidate IDgetBioguideFromFEC(id) — Reverse lookupMIT - Mark Sandford
FAQs
Entity resolution for civic data — committee/agency alias matching, industry taxonomy, ticker-to-sector resolution, FEC entity deduplication
The npm package @civiq/entity-resolution receives a total of 5 weekly downloads. As such, @civiq/entity-resolution popularity was classified as not popular.
We found that @civiq/entity-resolution demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
/Research
A fake corepack.org site is impersonating the Node.js tool and delivers an infostealer and proxyware to developers who download it.

Research
/Security News
A large-scale campaign abused GitHub Actions in compromised repositories to exploit CVE-2026-41940 in cPanel and WHM and steal server credentials.

Security News
Five frontier LLMs generated the same nonexistent package names, leaving 53 available for potential slopsquatting across PyPI and npm.