Get Started

An introductory guide to HASH for developers


What is HASH?

HASH is a tool for turning raw information into knowledge and process graphs. It does this by allowing you to connect up and ingest both unstructured information (contained within documents and other files), as well as structured data (for example, from databases and applications). HASH then extracts semantically typed (SemType) entities from these, creating a unified knowledge graph and process graph, which is continuously checked, automatically maintained, and kept up-to-date.

HASH provides a graphical user interface atop hgres, along with a range of AI-powered entity and type extraction, workflow orchestration, and other capabilities. It provides individuals, as well as groups of users, with their own semantic "web" of information, drawn from different sources and platforms, or created directly with HASH.

With HASH, you can:

  • aggregate information from lots of different places: reconcile and map information to semantic 'entities' and 'types' that represent the things you care about, in a linked graph
  • sync changes to entities: allow information changed in one system (or edited directly in HASH) to be seemlessly synced to all of the others
  • create, manage and update types: establish data contracts; understand how updates will break things for data consumers, and who those data consumers are; improve the availability and reliability of information through full versioning and provenance trails
  • control access to information: set visibility and edit restrictions on information; ensure compliance across systems
  • use information directly in new ways: in addition to enhancing existing applications through two-way sync, HASH lets users reference entities, their properties and links information in pages; render information on pages using blocks, separating data from visualization logic; build whole sites, tools and apps using blocks, without writing code
  • use information to provide context to AI models: utilize a web of typed entities to provide context to AI models

These are our developer docs.

Looking for help using HASH? Visit hash.ai/guide →

For more information on how HASH is actually used, see the Using HASH section.

Built to be adopted incrementally

Because of it's design, HASH effectively (but optionally) supports the gradual elimination of competing sources of truth, helping reduce information failure, and rationalize data assets.

HASH was created with incremental adoption in mind. Services can be integrated progressively, one-by-one, and used within or alongside HASH. At no point will you need to choose between using HASH and another system you or others in your organization are accustomed to. In the future, you'll also be able to recreate most external systems directly within HASH, through HASH's tool-building functionality, allowing for the optional, gradual, risk-free replacement and deprecation of legacy external services over time.

Important primitives

HASH's most important primitives are outlined in the general HASH User Guide, under the Core Concepts page.

Product-specific docs

You're currently viewing the developer docs for the core HASH application. The user guide for HASH is located separately, at hash.ai/guide

If you're looking for product-specific docs, for example relating to hgres or Petrinaut, use the product-switcher near the top-left of this page. It's the dropdown with the colored HASH icon inside of it. Once pressed, you'll be able to switch to view developer documentation for any of our other products.

Join our community of HASH developers