Documentation
¶
Index ¶
Constants ¶
const Version = "v0.8.1-dev"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Address ¶
type Address struct {
// EntityID (ent_num) is the unique record identifier/unique listing identifier
EntityID string `json:"entityID"`
// AddressID (add_num) is the unique record identifier for the address
AddressID string `json:"addressID"`
// Address is the street address of the specially designated national
Address string `json:"address"`
// CityStateProvincePostalCode is the city, state/province, zip/postal code for the address of the
// specially designated national
CityStateProvincePostalCode string `json:"cityStateProvincePostalCode"`
// Country is the country for the address of the specially designated national
Country string `json:"country"`
//AddressRemarks (Add_remarks) is remarks on the address
AddressRemarks string `json:"addressRemarks"`
}
Address is OFAC SDN Addresses
type AlternateIdentity ¶
type AlternateIdentity struct {
// EntityID (ent_num) is the unique record identifier/unique listing identifier
EntityID string `json:"entityID"`
// AlternateID (alt_num) is the unique record identifier for the alternate identity
AlternateID string `json:"alternateID"`
// AlternateIdentityType (alt_type) is the type of alternate identity (aka, fka, nka)
AlternateType string `json:"alternateType"`
// AlternateIdentityName (alt_name) is the alternate identity name of the specially designated national
AlternateName string `json:"alternateName"`
// AlternateIdentityRemarks (alt_remarks) is remarks on alternate identity of the specially designated national
AlternateRemarks string `json:"alternateRemarks"`
}
AlternateIdentity is OFAC SDN Alternate Identity object
type DPL ¶
type DPL struct {
// Name is the name of the Denied Person
Name string `json:"name"`
// StreetAddress is the Denied Person's street address
StreetAddress string `json:"streetAddress"`
// City is the Denied Person's city
City string `json:"city"`
// State is the Denied Person's state
State string `json:"state"`
// Country is the Denied Person's country
Country string `json:"country"`
// PostalCode is the Denied Person's postal code
PostalCode string `json:"postalCode"`
// EffectiveDate is the date the denial came into effect
EffectiveDate string `json:"effectiveDate"`
// ExpirationDate is the date the denial expires. If blank, the denial has no expiration
ExpirationDate string `json:"expirationDate"`
// StandardOrder denotes whether or not the Person was added to the list by a "standard" order
StandardOrder string `json:"standardOrder"`
// LastUpdate is the date of the most recent change to the denial
LastUpdate string `json:"lastUpdate"`
// Action is the most recent action taken regarding the denial
Action string `json:"action"`
// FRCitation is the reference to the order's citation in the Federal Register
FRCitation string `json:"frCitation"`
}
DPL is the BIS Denied Persons List
type Downloader ¶
Downloader will download and cache OFAC files in a temp directory.
If HTTP is nil then http.DefaultClient will be used (which has NO timeouts).
See: https://www.treasury.gov/resource-center/sanctions/SDN-List/Pages/sdn_data.aspx
func (*Downloader) GetFiles ¶
func (dl *Downloader) GetFiles() (string, error)
GetFiles will download all OFAC related files and store them in a temporary directory returned and an error otherwise.
Callers are expected to cleanup the temp directory.
type EL ¶
type EL struct {
// Name is the primary name of the entity
Name string `json:"name"`
// AlternateNames is a list of aliases associated with the entity
AlternateNames []string `json:"alternateNames"`
// Addresses is a list of known addresses associated with the entity
Addresses []string `json:"addresses"`
// StartDate is the effective date
StartDate string `json:"startDate"`
// LicenceRequirement specifies the license requirements that it imposes on each listed person
LicenceRequirement string `json:"licenseRequirement"`
// LicensePolicy is the policy with which BIS reviews the requirements set forth in Licence Requirements
LicensePolicy string `json:"licensePolicy"`
// FRNotice identifies the notice in the Federal Register
FRNotice string `json:"FRNotice"`
// SourceListURL is a link to the official SSI list
SourceListURL string `json:"sourceListURL"`
// SourceInfoURL is a link to information about the list
SourceInfoURL string `json:"sourceInfoURL"`
}
EL is the Entity List (EL) - Bureau of Industry and Security
type Reader ¶
type Reader struct {
// FileName is the name of the file
FileName string `json:"fileName"`
// Addresses returns an array of OFAC Specially Designated National Addresses
Addresses []*Address `json:"address"`
// AlternateIdentities returns an array of OFAC Specially Designated National Alternate Identity
AlternateIdentities []*AlternateIdentity `json:"alternateIdentity"`
// SDNs returns an array of OFAC Specially Designated Nationals
SDNs []*SDN `json:"sdn"`
// SDNComments returns an array of OFAC Specially Designated National Comments
SDNComments []*SDNComments `json:"sdnComments"`
// DPL returns an array of BIS Denied Persons
DeniedPersons []*DPL
// SectoralSanctions returns an array of Treasury Dept. Sectoral Sanctions Identifications
SectoralSanctions []*SSI
// BISEntities returns an array of Bureau of Industry and Security Entities
BISEntities []*EL
// contains filtered or unexported fields
}
Reader reads OFAC records from a CSV file and populates the associated arrays.
For more details on the raw OFAC files see https://docs.moov.io/en/latest/ofac/file-structure/
type SDN ¶
type SDN struct {
// EntityID (ent_num) is the unique record identifier/unique listing identifier
EntityID string `json:"entityID"`
// SDNName (SDN_name) is the name of the specially designated national
SDNName string `json:"sdnName"`
// SDNType (SDN_Type) is the type of SDN
SDNType string `json:"sdnType"`
// Program is the sanctions program name
Program string `json:"program"`
// Title is the title of an individual
Title string `json:"title"`
// CallSign (Call_Sign) is vessel call sign
CallSign string `json:"callSign"`
// VesselType (Vess_type) is the vessel type
VesselType string `json:"vesselType"`
// Tonnage is the vessel tonnage
Tonnage string `json:"tonnage"`
// GrossRegisteredTonnage (GRT) is gross registered tonnage
GrossRegisteredTonnage string `json:"grossRegisteredTonnage"`
// VesselFlag (Vess_flag) is vessel flag
VesselFlag string `json:"vesselFlag"`
// VesselOwner (Vess_owner) is vessel owner
VesselOwner string `json:"vesselOwner"`
// Remarks is remarks on specially designated national
Remarks string `json:"remarks"`
}
SDN is a specially Designated National
type SDNComments ¶
type SDNComments struct {
// EntityID (ent_num) is the unique record identifier/unique listing identifier
EntityID string `json:"entityID"`
// RemarksExtended is remarks extended on a Specially Designated National
RemarksExtended string `json:"remarksExtended"`
}
SDNComments is OFAC SDN Additional Comments
type SSI ¶
type SSI struct {
// EntityID (ent_num) is the unique record identifier/unique listing identifier
EntityID string `json:"entityID"`
// Type is the entity type (e.g. individual, vessel, aircraft, etc)
Type string `json:"type"`
// Programs is the list of sanctions program for which the entity is flagged
Programs []string `json:"programs"`
// Name is the entity's name (e.g. given name for individual, company name, etc.)
Name string `json:"name"`
// Addresses is a list of known addresses associated with the entity
Addresses []string `json:"addresses"`
// Remarks is used to provide additional details for the entity
Remarks []string `json:"remarks"`
// AlternateNames is a list of aliases associated with the entity
AlternateNames []string `json:"alternateNames"`
// IDsOnRecord is a list of the forms of identification on file for the entity
IDsOnRecord []string `json:"ids"`
// SourceListURL is a link to the official SSI list
SourceListURL string `json:"sourceListURL"`
// SourceInfoURL is a link to information about the list
SourceInfoURL string `json:"sourceInfoURL"`
}
SSI is the Sectoral Sanctions Identifications List - Treasury Department