Skip to content

PointSav Documentation

The engineering library for the PointSav platform — operating systems and services for regulated businesses that own their data, their AI, and their record-keeping outright. Where the monorepo holds the code, this wiki holds the reasoning: architecture, services, security, and the governance commitments that bind future development.

Historical revision — this record as it stood on 6 August 2026, not the current version. View the current record →

Verify a WORM ledger entry

Prerequisites

  • Network access to your service-fs instance
  • Your module identifier for the X-Foundry-Module-ID header
  • A SHA-256 utility (sha256sum on Linux, shasum -a 256 on macOS)

Purpose

Confirm that a ledger entry hasn't been altered since it was written, using only curl and standard hashing tools — no CLI or proprietary verification tool exists for this, and none is needed.

Procedure

  1. Fetch the entry (or range of entries) you want to verify, per Read the command ledger:

    curl -s -H "X-Foundry-Module-ID: <your-module-id>" \
      "http://<service-fs-host>/v1/entries?since=<cursor>"
    
  2. Fetch the current checkpoint:

    curl -s -H "X-Foundry-Module-ID: <your-module-id>" \
      "http://<service-fs-host>/v1/checkpoint"
    

    The checkpoint carries tree_size (total entry count at the time it was issued), root_hash (a hex-encoded SHA-256 commitment covering every entry up to tree_size), algorithm ("sha256"), a timestamp, and a signature.

  3. Confirm your fetched entries are covered by the checkpoint: their cursors must fall within tree_size. If your target entry's cursor is higher than the checkpoint's tree_size, fetch a newer checkpoint first.

  4. If the checkpoint carries a signature, verify it. signature holds an Ed25519 signature over the C2SP signed-note body (origin, tree_size, and the base64-encoded root_hash), using the platform's published verifying key. A valid signature means the chain state was attested at that point — independent of trusting the live service in the moment you read it.

    Note: signature is only present if the service-fs instance was started with a signing key configured. An unsigned deployment's checkpoint is still a real, honest snapshot of tree_size/root_hash — it just carries no independent third-party attestation. Don't treat a missing signature as an error.

Expected outcome

A checkpoint whose root_hash and tree_size you can independently hold as a commitment to the ledger state at that point, and — where a signature is present — cryptographic proof that commitment was attested, not merely asserted by the running service.

Verification

Re-fetch the checkpoint later and confirm tree_size only ever increases and that the root_hash for any tree_size you've seen before never changes. A ledger entry that was covered by an earlier checkpoint's root_hash and is still present, unmodified, under a later checkpoint's larger tree_size has never been altered — that consistency across checkpoints over time is the practical, repeatable verification available with just these two endpoints.

Rollback

Verification is read-only. Nothing to undo.

Next steps

See also

Important Information

Corporate structure. PointSav Digital Systems ("PointSav") is currently a trade name of Woodfine Capital Projects Inc. ("Woodfine"), planned to become a wholly-owned Woodfine subsidiary upon incorporation. PointSav does not itself offer, sell, or solicit any security. Any securities offering associated with Woodfine's real-property direct-hold solutions is made exclusively by Woodfine, and only by means of the applicable Private Placement Memorandum.

No investment advice. This wiki's content is provided for engineering, operational, research, and development purposes. Nothing on this wiki constitutes investment advice or a solicitation to invest in any Woodfine partnership or direct-hold solution.

Intellectual property. The PointSav name, trade name, wordmark, and marks, together with all current and future PointSav- and Totebox-branded products, services, and offerings — and the software, source code, documentation, design system, and all related materials — are proprietary to Woodfine and its affiliates, except for components identified as open source. No rights are granted except as expressly set out in a written license or agreement. The full trademark notice appears in the footer of every page on this site.

Open source components. Portions of the platform are made available under permissive open-source licenses identified in the accompanying repository. Use of those components is governed by their respective license terms.

No warranty; informational use. Content on this wiki is provided for general informational purposes only and does not constitute a representation, warranty, or commitment with respect to product functionality, availability, pricing, or roadmap. Some articles describe planned or intended features, capabilities, and milestones — language such as "planned," "intended," "targeted," "may," and "expected" marks this forward-looking content, which is subject to change and does not constitute a commitment regarding future performance.

Confidentiality. Where an article describes an operational or deployment detail that is not intended for public disclosure, that article is not published on this wiki. Content here is general-purpose engineering documentation, not customer-specific configuration.

Jurisdiction. Woodfine Capital Projects Inc. is organized in British Columbia, Canada. References to the Sovereign Data Foundation on this wiki describe a planned or intended initiative only, not a current equity holder or active governance body.

Changes to this notice. PointSav may update this notice from time to time; the version posted on this page governs.

Not a filing system. This wiki is not a securities filing system, an electronic disclosure repository, or a substitute for SEDAR+ or any other regulatory filing system. Formal securities filings are made through the applicable regulatory filing system, not through this wiki.

Full disclaimer. This notice supplements, and does not replace, the full Disclaimers article. In the event of any conflict, the full Disclaimers article governs.

Read the full disclaimer →