Skip to main content

Sneak Peak: PowerKit for FluentCart - T&C Versioning

Since there was a lot of discussion here about proving exactly what the terms and conditions said at the time a client placed an order, I built that into PowerKit. Every change is now stored in a Git repository, a cryptographic hash is attached to the order, and the whole thing links back to the exact T&C version that was active at checkout. Full audit trail, documented end to end.

Check the video for a walkthrough, and let me know if that covers what we were discussing.

AndrΓ© Daus

Jorge de los ReyesΒ would love to hear your thoughts on this.

Sascha LeemΒ is that what you're after?

AndrΓ© DausΒ wow! git, hashing… looks promising. I’ll definitely check this video AndrΓ©. Thanks for sharing!

I’ll let you know my thoughts after watching it. For now: congrats!

Nice work AndrΓ© DausΒ !

The Git approach is smart: full content stored, hash on the order, clean diff trail. Real improvement over the bare checkbox!

And I am sure it could be used not only for T&C but also for Privacy, and other legal docs.

Two things I'd layer on top: (1) GPG-signed commits or qualified timestamps to make the history tamper-proof (plain Git is mutable by design), and (2) delivering a copy to the customer at purchase: that way the proof doesn't live only on your side. And also, it's compulsory. So you can actually make the system work around the "contract" itself, with its timestamping and so (with eIDAS requirements).

Solid foundation though!

Git + sending a copy, seems like a solid approach!


P.S. Even with all of this in place, in B2C there are still legal fronts where versioning won't save you: like conformity rights (which are mandatory regardless of what terms the customer accepted). So you can have the most bulletproof T&C versioning system and the consumer can still claim their rights. Just saying this because a single misleading, mistaken or misunderstood claim on a landing page, an ad, or a launch campaign could open conformity claims for years... regardless of what your T&C say. Consumer rights override contract terms.

AndrΓ© Daus

Jorge de los ReyesΒ thank you. That's genuinely useful feedback.

On tamper-proofing: as I mentioned in the video, Git can be made tamper-proof, but that's outside the plugin's scope. GPG-signed commits would likely be overkill for most users. And no plugin makes a process fully compliant, it can only support one.

What the module already provides is a defensible, documented audit trail of every T&C change. Adding a privacy policy (or any other legal document) is a single click. It joins the same trail, automatically attached to each order.

Sending a copy to the customer is a good point. My thinking: rather than the plugin dispatching a PDF directly, I'd generate the PDF and expose a link that can be dropped into existing email templates. That's cleaner, more flexible, and less likely to clash with whatever email setup the merchant already has. I'll look at extending the module that way.

AndrΓ© Daus

Well, it has been easier than I thought. The plugin now creates a PDF of the terms page straight after it has been committed to Git with the same versioning key as stored in the order. I added another switch to the settings where the user can attach the terms PDF to the confirmation email sent via FluentCart.

As a result, with the Powerkit plugin, FluentCart can now:

  • track terms (and other policy) changes
  • store the original content in a Git repository
  • create a PDF version from that content
  • save the Git commit cryptographic hash at the order
  • send the user the corresponding version as a PDF attachment in the regular confirmation mail.

Looks fine, needs some more testing on my end, and would then be ready to ship.

AndrΓ© DausΒ congrats AndrΓ©!

Seems like a really useful add-on for any merchant!

As you pointed, for many this may sound overkill. But it will depend on which is your business, and your sector.

In some cases, this kind of approach is just what the business needs. So, again. Congrats!

It reminds me on how usually public sector hashing works. Not sure if you’re adding the hash on the PDF, but here is the idea. Adding it to the footer too.

Again, this is probably β€œtoo much” for many. But as I mentioned, sometimes this kind of tracking is a must. And I’m sure many will appreciate all the efforts and energy you’re putting into this.

AndrΓ© Daus

Jorge de los Reyes I thought you were saying to add the hash to the PDF, so I did that already. 🀩

I will try to focus more on working on the plugin to get it out, so we can be more compliant with our EU stores.

Thank you!