I had a look at the site and loaded the cart with a couple of items. A quick look at the page source reveals a SvelteKit architecture, which loads JavaScript modules from the server and executes them on the client.
There’s a glaring security implication. The problem is session storage.
On the cart page:
The data is stored by client-side JavaScript in the browser’s memory.
It doesn’t get sent to the server with any HTTP request automatically.
It is completely under the user’s control.
No authentication mechanism is in place.
There is no session cookie or token binding the user to a secure identity on the server.
There’s no backend involvement in access control.
Because the cart and user state live entirely in session storage, the server has no visibility or control over the user’s behavior.
All trust is placed in client-side code.
Users can manipulate anything in session storage using dev tools:
No - did you checkout? - you download the list or items you want and send it as an order - if you swapped out prices or changed totals it will just not be accepted
On the traditional internet perhaps. They may have little or no role on autonomi.
Nope.
It’s just another app, running on another computer, which happens to be accessed by the shop owners.
It doesn’t need a web front end even. The backend runs locally, just like the front end can.
Consider this: autonomi is like a database that can be read/write by a ‘front end’ directly. A consumer adds stuff to that database and the shop staff validate it. If valid, they ship the order. If not, they ignore/reject it.
That’s the console app that runs and listens on localhost, ala dweb or VazorTopShelf. But again, that brings its own set of problems. See my earlier reply to HappyBeing.
You can even inform your customers about seemingly random time limited discounts… If they order on the first weekend to an address in Canada they get 20% discount…
Today between 1pm and 2pm prices are 5% lower… No client side logics needed to make random rules… That then are applied both by your customer and you when you check the order…
You don’t. You can’t stop stuff being written to autonomi, bypassing logic, etc.
The secret logic is just another app (essentially) that reads the same data, then decides if it is valid or not.
There are no guards around what can be written to autonomi (as a data store). Instead, the data must be assumed to be bad and validated to prove otherwise.
Ofc, you keep your encryption keys to access the backend app safe, so only shop staff can access it. That is the secret part.
Because it is irrelevant what the app is. Whether CLI, web app to local server, mobile app, etc… it’s all accessing the same data. They are all running on the device being used to access the data too.
The point is that the user runs an app that does the ordering, that is all
The shop runs on their computer system their internal shop software that will read data stored on Autonomi that the ordering app wrote and then processes it
No where in Autonomi is it designed to be running a shop/warehouse/billing internal program. That is essentially not a distributed system nor a network system, but a system to run the internals of the shop