A Proposal for an Organization and Group Schema

This describes Organizations (legal entities that have been formed for business or social purposes) and Groups (groups of people formed together for a specific purpose) are used throughout GRC and SecOps software. Therefore, elementId, @id, coreMetaData, and context will always be present in Things.

The only difference in the schema between an organization and a group is that Organizations have Legal Names whereas Groups have Official Names. That and Groups don’t have Organizational Categories.

PropertyExpected TypeDescription
emailEmailPrimary Electronic Mail address.
parentIdStringID of the associated parent for this record.
descriptionStringThis describes a Thing or Property.
legalNameStringLegally registered name of Organization.
primaryDomainURLThe legally registered primary Internet domain name of the organization.
elementIdStringA unique and persistent identifier for the record within the system's data set.
urlStringThe Uniform Resource Locator of an internet address.
namesArrayA collection of names.
@idURLThe full unique link to the item so it's traversable by that property.
topLevelDomainsArrayA collection of TopLevel Domain (TLD's).
emailAddressesArrayA collection of Email objects.
socialAddressesArrayThe various Internet locations that help disambiguate a person or organization, such as their FaceBook, LinkedIn, YouTube and Twitter Address.
phoneNumbersArrayA collection of PhoneNumber. Which foreign key is used will be determined by the object the phone number is in.
organizationalCharacterObjectThe Organizational Character of an Organization, Group, or Initiative.
affiliationsArrayA collection of Affiliation.
organizationalCategoriesObjectAn array of Organizational Category.
contextContextThe JSON-LD context for the item in question.
postalAddressesArrayAn array of the object Postal Address.

Common Elements

Organization and Group both have multiple common elements, such as description, URL, postalAddresses, socialAddresses, and phoneNumbers. These have all been approved for quite some time and can be found online at their respective URLs.

Parent ID

Many organizations have parents and are either wholly owned, partially owned, or even DBAs of other organizations. In other words, there’s a hierarchy here. Groups have much of the same structure, with ISO committees having subcommittees as a popular reference. Within This is the ID of the direct parent of the organization or group in question.

Names

Names are broken down into Legal Name (for organizations) and Official Name (for groups), as well as a listing of all other names the organization or group has been found to be known by.

Primary Domain and Top Level Domains

When you use a couple of the organizational disambiguation APIs, you’ll get a domain list for the organization as well as the organization’s primary domain. This provides a great clue to disambiguate organizations – especially if the standard is only tracking a name.

Organizational Character

The Organizational Character Index (OCI) is a self-scoring assessment tool developed by William Bridges, Ph.D. that helps organizations clarify their preferences. The OCI is based on the Myers-Briggs Personality Type Indicator. How that relates to GRC and SecOps is covered in the GRC Playbook online HERE.

Affiliations

Affiliations is a simple list of GRC and SecOps industry organizations (CSA, ISACA, ISC2, ISSA, etc.) that an organization or group might belong to.

Organizational Category

Groups do not have Organizational Categories. Organizational Categories is a great way to disambiguate organizations (other than their domain information). Organizational Category is a Thing as it can change over time, and those changes need to be tracked. Each response is also tracked to a Disambiguation Record so that the source of the Category can be represented.

PropertyExpected TypeDescription
clearbitIndustryStringThis is the industry an Organization belongs to according to Clearbit.
sic2DigitCodeStringThis is the two digit Standard Industrial Classification code assigned to an Organization.
naics6DigitCodeStringA North American Industry Classification System (NAICS) code is a six-digit code that classifies businesses by their economic activity into a specific sector.
clearbitSectorStringA distinct area of business as reported by Clearbit.
clearbitSubIndustryStringA subset of Organization industries as reported by Clearbit.
unspscCodeStringThe United Nations Standard Products and Services code of an Organization.
elementIdStringA unique and persistent identifier for the record within the system's data set.
@idURLThe full unique link to the item so it's traversable by that property.
tagsArrayA collection of keywords that describes an item.
coreMetaDataObjectThe object representation of the Thing CoreMetaData.
disambiguationRecordIdObjectRepresents a record of an object from an AuthoritySource.
contextContextThe JSON-LD context for the item in question.
sic4DigitCodeStringThis is the four digit Standard Industrial Classification code assigned to an Organization.
naics20226DigitCodeStringA North American Industry Classification System (NAICS) code is a six-digit code that classifies businesses by their economic activity into a specific sector as updated in 2022.
linkedinIndustryCodeV2StringLinkedIn's Industry Codes v2 is a list of industry codes for company and people searches.