# JSON files reference The Hypersync SDK enables you to build custom Hypersync apps with minimal code. Instead of writing TypeScript or JavaScript, you can define app behavior and appearance using declarative JSON files, which are processed at runtime as users interact with the app. All declarative `.json` files live in the `/json` directory in the custom app's source. This directory may include one or more of the following file types: | Name | Description | Reference | | --- | --- | --- | | `messages.json` | Contains the strings shown to the user when they interact with the custom app or view proof that is generated by the custom app. | [messages.json format](/hypersync-sdk/sdk-012-messages-json) | | `dataSource.json` | For services that exposed data via a REST API, `dataSource.json` describes the data that is to be retrieved, along with the transforms, filters, sorts, etc. to apply to that data. | [dataSource.json format](/hypersync-sdk/sdk-013-data-source-json) | | `criteriaFields.json` | Contains criteria the user must select to configure a given Hypersync proof type. These criteria fields can be used across proof types. | [criteriaFields.json format](/hypersync-sdk/sdk-014-criteria-fields-json) | | `proofProviders.json` | Lists the JSON proof types that are exposed by the custom Hypersync app. See `/proof` row below. | [proofProviders.json format](/hypersync-sdk/sdk-015-proof-types-json) | | `package.json` | Hyperproof uses these property values to accurately identify and display your custom Hypersync app in the Hyperproof UI. | [package.json format](/hypersync-sdk/sdk-009-package-json-reference) | | `/proof` | Directory that contains the JSON proof types used by the custom Hypersync app. To properly expose these proof types in the Hyperproof UI, a corresponding entry in `proofTypes.json` is required. | [Proof Type format](/hypersync-sdk/sdk-016-proof-type-json) |