Document versions

Current versions

This file is the version history of every public legal document Stampomat publishes. One row per document per published version, newest first, with the effective date and a one-line summary of what changed. The public "Document versions" page at /{locale}/legal/changelog renders from this file.

The file doubles as evidence. Together with the legal_acceptances table, which stores the document, version, locale, surface and content hash for every acceptance, it lets you show which text was in force on any given date.

Internal accountability documents (records of processing, runbooks, assessments, registers) are not listed here. Each carries its own version line and is tracked in git.

1. How versions work

1. A version is the ISO date in config('legal.versions') for that document. The version and the effective date are the same value; the tables below print it through the {legal.effective.<document>} token so this file cannot drift from config.

2. Document names below are the page slugs served at https://stampomat.com/{locale}/legal/{slug}. The English drafting sources map to them as follows: privacy-policy.en.md is privacy, terms-customers.en.md is terms, terms-merchants.en.md is terms-business, terms-partner.en.md is terms-partner, and dpa, cookies, delete-account, imprint and licences match their file names. The subprocessors page has no markdown source; it renders from config/legal.php.

3. The rows dated 1 July 2026 were seeded from the repository history when this file was created during the August 2026 legal checkup. The full texts of those versions remain in git history (docs/legal/ before commit b5afb4a1, the first-drafts commit; its pre-rebase id a9063ffc changed in the 2026-09-04 rebase).

4. A version records which text was published and when it takes effect. It is not a request to accept again. Since 2026-09-13 a customer or a business that accepted any earlier version of a document is not asked to accept it again when its date moves. The acceptance step appears only where no acceptance is on record (for a customer, for a business on the dashboard, for each person in the merchant portal) and to a customer signing in from a signed-out browser, and each acceptance names the version and the text it saw; a version moving brings the step back for nobody. A change reaches everybody else through the page, this file and, where the document promises one, an email. From the versions that retired re-acceptance on, each row says whether a notice was owed.

2. Versions introduced by the August 2026 checkup

All ten pages below are published together as one corpus. The three documents that existed before are full rewrites; the other seven are first publications. Effective dates come from config through the tokens shown.

Two rows below, terms-business and privacy, were amended on 2026-09-10, the day of the versions they describe, and no version moves for it. The removal flow shipped that morning with a suppression: where a member asked an organisation never to enrol them again, the officer could record it, and the platform then refused that address on the Add members form and on every join link, holding a one-way fingerprint of it without an expiry. The owner withdrew it the same evening, before any account had used it, so no fingerprint was ever written and nobody ever accepted a text describing one. The rows say what actually shipped. The duty itself is unchanged and is not the platform's: honouring a request never to enrol somebody again belongs to the organisation as controller of its own list, and it stays in terms-business section 8.3.

terms-business was amended a second time the same day, again with no version move, and for the same reason: the text describes what shipped on 2026-09-10 and benefit groups did not survive the day. Annex A.11's fair-use list no longer names them. Benefit groups were an organisation-defined filing label on a partner benefit; they were retired whole that evening, and the cap that governed how many an organisation could make was retired with the feature, so the list named a limit that no longer exists. This amendment only REMOVES an item from a list of restrictions. It imposes no new duty, narrows no right and takes nothing away from a business, so it is favourable on its face and engages neither the section 14 notice period nor a fresh acceptance. No business account had accepted any version of this text on 2026-09-10 in any case. What replaced groups is not a limit and does not belong in A.11: which membership level a benefit is held back for, which the same annex already covers under levels.

terms-business and dpa were amended on 2026-09-13, and no version moves for either, for the reason the amendments above record: the change is favourable on its face. The loyalty dashboard gained a third assignable role, management ("Vodstvo"), offered only to a membership organisation. It does everything the account owner can do inside that organisation and is refused exactly one act, renaming the account owner's own title, which is the only act in the product that names the owner at all. Section 5 point 3 of terms-business now lists three assignable roles instead of two and says which two are membership-only; Annex A.5 point 8 says a team member holding that role may also remove a member, where it previously named the account owner alone; dpa section 8.3 describes the same role among the access controls. Every one of those sentences GRANTS a business a control it did not have and imposes no duty, narrows no right and takes nothing away, so it engages neither the section 14 notice period nor a fresh acceptance. Nothing a MEMBER was promised changes either: the customer terms have never named which person at an organisation may end a membership, only that the organisation may, and section 9 of terms is untouched.

The same amendment CORRECTS one sentence that had become wrong in the other direction. Annex A.9 of terms-business and section 8.3 of dpa say who may export customer data. A draft of this change added the management role to both lists; it does not belong there and never did. The three CSV exports exist only on a stamps or points account and the management role is offered only at a membership organisation, so no management user can reach an export at all. Both sentences now say so explicitly rather than merely omitting the role, because the omission is the part a reader would otherwise have to work out from two other clauses.

terms, privacy, terms-business, dpa, cookies and terms-partner move for one reason: a new version of a document no longer asks anybody to accept it again. A person who has never accepted still sees the acceptance step, and it is still recorded with the version, the language, the screen and a hash of the text. A person who accepted any earlier version is not stopped again when a version moves, and a change reaches them by notice. Every re-acceptance sentence was conditional on a future change and none was pending, so nothing anybody held moved. In the customer terms the click came after the 30 days had already run and never decided whether a change bound anybody, and what decides that (the email, the 30 days, the old version meanwhile, the free exit, no retroactive change) is unchanged word for word. The business terms already applied a new version to a business that keeps using the platform after the notice period, so removing the gate is solely in a business's favour under section 14 point 5; the DPA changes only by direct notice. Unlike the amendments above, the versions move: a new date no longer costs anybody a fresh acceptance, so rule 5 of section 4 is kept.

The notice owed was decided before publication from the acceptance records in both production databases; the counts and the decision are recorded in docs/legal/evidence/2026-09-14-no-regate-notice.md. Customers: a minor change under section 21 of terms, because it imposes no duty, narrows no right and takes nothing away, so terms, privacy and cookies take effect on publication and no email was owed; the privacy policy and the cookies notice are information, and nobody accepts them. Replacing an express click with continued use after notice could be read as affecting rights; counsel is asked to confirm this classification (lawyer-review-checklist.md section 2.2 point 4), and a precautionary 30 day email to wallet holders was drafted and was not sent. Businesses: the change is solely in a business's favour, but dpa section 14 changes the DPA only by direct notice, never by publication alone, and gives at least 15 days for a change that is not material, with no exception for a favourable one; and one business account outside the operator's own test accounts had accepted an earlier version. That business was not emailed. The platform had not yet opened to businesses and customers generally, and the operator gives that business direct notice personally and asks it to agree that the new versions apply at once, so terms-business and dpa take effect on publication, 2026-09-14. If it does not agree, the text it accepted applies to it until fifteen whole days have run after that notice, and it may end the agreement with immediate effect. The same notice covers the 2026-09-13 amendment above, which went out without one: that paragraph stays as written under rule 2 of section 4, and its reading that no notice period was engaged does not hold for the DPA, which has no exception for a favourable change. Benefit providers: the only terms-partner acceptance on record is the operator's own test account, so no email was owed and it takes effect on publication.

privacy moves from 2026-10-14 back to 2026-09-14, and the wallet language paragraphs take effect on publication. They add how the wallet chooses its language (section 4.1, Your language) and say that stampomat.com picks the language it opens in from the country of the IP address, which the site already did (section 3, Language). They first went out on 2026-09-13 at 23:50 (Ljubljana) in a version dated 2026-10-14, because the owner had judged the change material and planned a 30 day email to every wallet account holder, with the code switched off until then. On 2026-09-14, before any email was sent, the owner decided that none of the 25 wallet accounts with an email address belongs to a real customer: they are the owner's own accounts, test accounts and friends' accounts. So no notice is owed, the same finding as section 0 of docs/legal/2026-09-10-membership-removal-change-notice.md; the paragraphs take effect on publication, the language rule (WalletLanguageRule) is switched on the same day, no email was sent, and the 2026-10-14 date, which never took effect, is withdrawn. The version of 2026-09-14 in the row below is the same text without the two paragraphs; an acceptance names which text it saw through its content hash. The headcount, both decisions and the checks made are recorded in docs/legal/evidence/2026-09-13-wallet-language-notice.md. From this change on, the privacy rows carry their dates literally, because the privacy effective-date token prints the current version.

terms, privacy, cookies, delete-account, imprint and licences move because Stampomat is web-only for now. On 2026-09-13 the owner decided there is no Android app until one is built from scratch, and on 2026-09-14 the code of both Android apps was removed: the customer app com.stampomat.app, a Trusted Web Activity around the wallet that was never listed on Google Play (the site's /.well-known/assetlinks.json never named a signing certificate), and the counter tablet app com.stampomat.till, which was never installed on a tablet. These six pages stop describing them. No data is collected, kept or shared differently, no right or obligation changes, and nobody was ever offered either app, so each change is minor or informational and no notice was owed to anybody; that finding does not rest on the headcount above. delete-account, imprint and licences take effect on publication, 2026-09-14. terms, privacy and cookies had already been published under 2026-09-14 that same day, so by the owner's decision they carry 2026-09-15 rather than a second text under one date, and the versions of 2026-09-14 apply until then. The terms version also adds one sentence to Shop credit in section 6, saying that the app shows it as cash-back and never pays it out in cash, which the owner agreed on 2026-09-13 to add at the next change of these terms; it changes nothing about how credit works. The effective-date token prints a document's current version, so from this change on the rows of these six documents carry their dates literally, and the date cells of their earlier rows now show the date each of those versions took effect, taken from the history of config/legal.php. No other cell and no summary of an earlier row changed.

cookies and privacy were amended on 2026-09-14, the day their 2026-09-15 versions were published and before either took effect, and no version moves for either: they now describe Remember my details on this device at the checkout of business websites, which was switched on that day. It is storage that needs consent, and consent is asked by a box that starts unticked, before anything is stored. The email to account holders that section 17 of privacy and section 12 of cookies describe was not sent: no real customer had yet used a wallet or ordered from a business website, and the operator decided that the feature goes live at once. The decision is recorded in docs/legal/evidence/2026-09-14-remember-me-switch-on.md.

dpa moves, and terms-business, terms and privacy were amended on 2026-09-14, the day their 2026-09-15 versions were published and before any of them took effect, with no version move for those three, because Google Wallet passes are on by default. On 2026-09-09 every organisation was switched on and on became the default for new ones, because with the switch off by default members were shown a save button that ended on Google's error page. The texts still said that an organisation opts in to passes or has switched them on. They now say passes are on for every organisation unless it asks us to switch them off; only we can switch them off, from our own console. The same paragraphs stop saying that a card image goes to Google: since the pass was redesigned, points, level and member number travel as fields on the pass, and only a pass saved in the earlier design can still carry the address of that image, which is why the warning about the address stays and now says so. No new data is collected, no recipient is added and nobody is asked to accept anything again. The owner decided on 2026-09-14 that these texts take effect at once; the counts, the decision and the direct notice to Globallis are recorded in docs/legal/evidence/2026-09-14-wallet-default-on.md.

terms-partner, delete-account and imprint move, and privacy, cookies, terms, terms-business and dpa were amended on 2026-09-14 before their 2026-09-15 versions took effect, with no version move for those five, because the benefit provider pages changed on 11 September 2026 and the texts still described what was removed: a provider sign-in and dashboard, colleague invitations, voiding records and messages to members. A provider now answers an organisation's letter with Accept or Deny, checks members with codes or on a scanning page, and sees its figures on a private usage link. Pressing Accept agrees to the Partner Terms again and is recorded, and a provider record that no organisation names any more is deleted. The only benefit provider and the only acceptance of the Partner Terms on record are the operator's own tests, so no email was owed; the counts and the decision are recorded in docs/legal/evidence/2026-09-14-provider-terms.md.

privacy was amended on 2026-09-14, the day its 2026-09-15 version was published and before it took effect, with no version move, because customer groups changed that day. Section 4.14, What we record, now names every fact the group history holds: when a group was created and when it closed, who invited whom, joins, leaves, removals and changes of owner, each with its date, kept for the life of the group. If you delete your account now says that a group you created which still has other members passes to the member you choose on the delete page, and to its most active member only when an account is deleted without that choice, for example on a request to us; that a group you were alone in dissolves; and that your account link comes off the group's history as it comes off the ledger. Each of these facts was already recorded before this change, on the group's seats, on the group itself (including whom a group passed from) and in the security log; what is new is that a change of owner is kept with the group for the life of the group, and no longer only in the security log's 90 day window. The deletion sentence gives a customer a choice the automatic rule used to make for them and takes nothing away. No new category of data is collected, no recipient is added and no purpose changes. So the change clarifies records already kept and adds a choice in the customer's favour: it is not material, it takes effect on publication, and no email was owed. Whether keeping changes of owner for the life of the group is a lengthened retention that makes it material is put to counsel (lawyer-review-checklist.md section 2.1 point 11). The version does not move, for the same reason as the amendments above: the 2026-09-15 version had not yet taken effect, and a second text under 2026-09-14 is what the owner decided against.

privacy was amended a second time on 2026-09-14, the same evening, before its 2026-09-15 version took effect, with no version move, because shops started to see the history of the groups their customers are in. Section 4.14 gains What a shop sees: a shop sees the groups its own customers are or were in and the groups whose points, stamps or till slips it holds, with each group's number, status, owner, seats taken and history, and which group each of its customers is in now. It names only the members who are its own customers and shows everyone else without a name. A shop is a new recipient of this data, so this is a material change, which section 17 announces by email to account holders 30 days before it takes effect. No email was sent, and the change took effect on publication: no real customer or real business used the stamps or points side of the platform, where groups exist, and the operator decided on 2026-09-14 that the shop view goes live at once. The only real business on the platform runs a membership organisation, where groups do not exist and no shop view is shown. The decision is recorded in docs/legal/evidence/2026-09-14-group-history-for-shops-switch-on.md, and the questions for counsel in lawyer-review-checklist.md section 2.1 point 12.

privacy, terms, terms-business, terms-partner and delete-account move to 2026-09-23, and all five take effect on publication, because a security review of the platform changed how some things work, and the texts now say what the product does. Groups can pass on more than once, and only to a member who still uses Stampomat; the scanning page link of a benefit provider can be replaced; the reason an organisation gives for removing a member leaves our records after 7 days, as the texts already said, now also from our audit trail; emails to customers and members are no longer copied to our support mailbox; a deleted account is written down outside the database for 15 days so that restoring a backup cannot bring it back; there is no longer a reward code to type; and the business terms no longer say stamps can be collected by typing a code the shop shows. The notice decision: by the owner's decision under section 3.3 of our change procedure, taken before the platform opens to merchants and customers generally, these versions take effect on publication. The one business account that accepted an earlier version, Globallis, is not sent a separate notice, by the owner's decision of 24 September 2026: none of its members use the platform yet, and the owner works with it directly. The reasoning, the recipients and the notice are recorded in docs/legal/evidence/2026-09-23-security-audit-alignment.md. Nobody is asked to accept anything again.

3. Versions of 1 July 2026

The first published set. Three public documents, en, mk and sl views; the de locale existed on the site but had no legal text.

4. Rule for adding entries

Follow this whenever a public document changes. It is step 4 of the update flow in README.md.

1. Bump the document's date in config('legal.versions') and add one row to the top of section 2 in the same commit: slug, the {legal.effective.<slug>} token, locales, and a one-line summary in plain language naming the substantive change, not the editing act. A guard test fails when a legal view changes without a version bump, so the row and the bump cannot be forgotten separately.

2. Never edit or delete an existing row. This file is evidence. If a row is wrong, add a new row that says so.

3. A version bump re-gates nobody. The customer interstitial appears only to a customer with no acceptance on record and to a customer signing in from a signed-out browser; the business gate appears only where no acceptance is on record, once for a business on the dashboard and once for each person in the merchant portal. A version moving brings either back for nobody. A change reaches people who accepted an earlier version by notice, sent by the operator: a material change of terms by email to wallet holders 30 days before the effective date; every change of terms-business or dpa by email to every business account that accepted an earlier version, 30 days before a material change and at least 15 days before any other; every change of terms-partner by email to the confirmed address of each benefit provider, 30 days before a material change and at least 15 days before any other; a material change of privacy by email 30 days ahead, for information. Say in the row which notice was owed.

4. A change to the sub-processor list is made in config, bumps subprocessors and gets a row here. Whether it also starts the 15 days notice and objection window depends on what changed, and dpa section 7.2 is the test: adding a new or replacement sub-processor, or giving an existing one a new purpose, starts the window; removing one is announced without a waiting period; correcting a transfer mechanism, a contract basis or a verification date on a party that is already listed changes no processing and starts nothing. Say in the row which of these it was.

5. Fixing a typo that changes no meaning in any language is still a new version. The acceptance record stores a content hash, so any change to the rendered text must map to a dated version.

6. New documents enter section 2 with a "First version" summary. A document that is retired gets a final row saying so and the view starts answering with a pointer to its replacement.