Build time


Commit hash



Prfs Proof

  • merkle sig pos range v1 includes asset size range values as public inputs
  • Create Prfs Tree entity and now merkle_root is associated with a given tree, not set.
  • appSignIn API is replaced with proofGen API. AppSignIn functionality is served via query parameters under proofGen.


Prfs Proof

  • Major refactor in circuit input data structure. Circuit input variants implement the interfaces defined in Typescript

Prfs asset server

  • Asset server serves the latest circuit artifacts.

Prfs spartan circom driver

  • Revamp Merkle sig pos range v1 to take nonce, serialNo, and the range values properly.


Prfs Proof

  • Reorganize circuit interface. prfs-circuit-interface is added.
  • Refactor prfs-proof-webapp to become a multi-tenant application: prfs-proof-webapp, prfs-console-webapp.

Prfs Id

  • Sunset localStorage-based message between windows for security reason. (Check out ITP "tracking prevention" of WebKit). Instead, we do this using websocket.
  • Now only a 'app_sign_in' API is updated accordingly.


Prfs Proof

  • Enable address caching/retrieving, all in encrypted. This will be used to fetch address when, for instance, creating a proof.

Prfs Id

  • Encryption query is added. This will allow users to get encryption of an arbitrary data.


Prfs proof

  • Add "total asset compute" functionality
  • Add 'import prfs set element from other sources' feature
  • Allow 'creating Prfs tree' based out of 'Prfs sets'


Prfs proof

  • Implement "crypto asset size attestation" functionality

Prfs web fetcher

  • Web fetcher retrieves data from the Internet. This may later invole TLS relay.


Prfs id

  • Implement "verify proof" functionality
  • Implement "proof gen" functionality
  • This change marks the sunset of prfs-sdk-web and prfs-sdk-web-module, both of which are replaced by prfs-id-sdk, and prfs-id-webapp.


Prfs embed

  • Message passing between windows use 'localStorage' because cross-origin resource sharing is a bit tricky to handle.
  • For messaging across cross-origin windows to happen, we implement an embedded web application that orchestrates the process.
  • Prfs embed will replace 'prfs-sdk-web-module', and proof generation will happen most likely in the prfs id web application.


Prfs identity

  • prfs-id-sdk provides app-sign-in argument create/parse functionality to allow apps to more securely access the system.

Shy api server

  • 'Prfs social' is being detached from 'Prfs'. It is getting rebranded as 'Shy'.


Prfs Proof

  • Allows Twitter attestation to be registered. Attestation view is also implemented. Attestation currently isn't persisted in the ledger.

Prfs web scraper

  • Add a web scraper implementation. The purpose is to parse data at a location to verify if the attestation is valid. This will later be extended to support TLS signature verification possibly in zero-knowledge.


Prfs Identity

  • Add commitment functionality. Commitment is a cryptographic product that is designed to make a prover able to claim they own (know the pre-image of) certain value. This feature will be used to allow users to attest their own data such as social network account.


Prfs proof

  • Create Twitter attestion form UI draft is implemented.
  • Minor bug fixes including broken hyperlinks.


Prfs proof

  • Prfs Proof allows signing in/up using Prfs Identity.

Prfs api server

  • Error handling is partly refactored. Meaningful error codes (of api requests) started to be designed.


Prfs identity

  • In-browser wallet module 'Prfs identity' draft is implemented. Prfs identity helps create and manage credentials. It uses a local storage to manage stored credentials and can generate signature and commitments. It is designed to run without external wallet software (like the browser extension) to provide an optimal user experience.
  • Prfs identity communicates with the host application with ECIES (Integrated Encryption Scheme). Host app must create an ephemeral key pair to open an encrypted communication channel.

Prfs proof

  • Prfs proof uses Prfs ID (identity) to enable signing in/out.

Prfs id server

  • Prfs id server is implemented. Prfs id server handles 'identity'-related requests. To optimize computational resources for the time being, this server application runs on top of Prfs api server.


Prfs proof

  • Prfs ZAuth "create id", "sign in" functionalities have been implemented. This works similiar to OAuth with a notable difference that it does critical operation in the client side.
  • Users will be able to create a Prfs ID which can be utilized in various context for generic purposes. Note that "Sign in" operation is delegated to the hosting application.

Prfs auth server

  • Twitter authentication draft is implemented. This will later be used to allow users to attest the ownership of their social accounts. (Upcoming changes will include more of these)
  • Prfs auth server will run alongside the Prfs api server. This is to minimize the operational overhead of spinning up a new instance. (This project is still in its early phase)

ZAuth interface

  • ZAuth interface begins to be designed.


Prfs proof

  • Proof type description view is revamped. Supplemantary information has been added.


Prfs snap

  • Add a Prfs Snap application draft. Snap is an application running on top of MetaMask browser extension.

Prfs Proof

  • "Save Proof" UI element is added. It currently has only "Snap" which is not expected to function in the production environment.
  • Proof detail view UI is improved.

Social (tentative name)

  • An example "social" application is built. (Mostly in order to demonstrate Prfs Snap)


Prfs email auth server

  • Add an email auth server draft. This isn't still functioning end-to-end. Email auth server traverses mail inboxes and collects the user's attestation of the ownership of their social accounts. Later we will integrate DKIM signature verification pipeline as well as content parsing in zero-knowledge.


Prfs Proof

  • Fix circuit build operation to always execute binary with '--release'.
  • Responsive multi-column UI is implemented. Currently three screen sizes are supported.
  • "commit_hash" is included in the status message
  • Loader bar is displayed when CreateProofModule is in progress of operation.
  • SearchProofDialog displays proof instance id if necessary.
  • Fix some "Server side" components so that search engine recognizes the right content.


Prfs Proof

  • "Create proof form" inputs are validated before proof generation.
  • "Proof type select bar" is integrated into "Masthead".
  • Driver artifacts loading status is more clearly visualized in text.
  • Tutorial UI is also improved


  • Modify how the public input data (JSON) is persisted. Values are now all stringified to ensure a bigint is treated as is.
  • Tutorial is more appropriately rendered on mobile devices.
  • Proof type/dynamic set Crypto consumer hackers is added as seed data.


  • A few more contents have been added. Still in construction.


  • Show progress in text while loading circuit artifacts
  • Static assets including circuit artifacts are being served using CDN to speed up the downloading.


  • Fix unremoved default css styling in Chrome


  • Tutorial is implemented.
  • A new UI and functionality is implemented in the post-create-proof view

2023-10-17 (UTC)

  • Redesign proof generator. Proof type selector and a success page are updated.

2023-10-16 (UTC)

  • Simple hash proof type is added with a fresh new circuit in Circom. Simple hash does a single Poseidon invocation and aims to prove the prover knows what the argument was for a given hash image.


  • Configure docker compose to build and run images

2023-10-10 (UTC)

  • Updates is added. It shows a list of past changes to the product.