Data Processing Agreement (Article 28 of the General Data Protection Regulation)
Version of October 31, 2026
Introductory provisions
Parties and conclusion
This Agreement is concluded between the business that uses Operitivo, as controller, and Semicolon d.o.o., Rakovčeva ulica 60, 52100 Pula, Croatia, OIB 03411437372, which provides the Operitivo service, as processor (together: the Parties).
The Agreement is part of the Terms of Service. It is concluded when the business accepts the Terms of Service and this Agreement; the owner of the business's account in Operitivo accepts it on the business's behalf. There is one Agreement for each business, whatever the number of its users and branches.
The Agreement covers the personal data that Operitivo processes on behalf of the business, as described in Annex II, including the data of its users and workers, while the business uses the service and after that until the data is deleted or returned (Clause 10(d)). It does not cover data for which Semicolon d.o.o. is itself the controller: the account owner's sign-in details and billing contact, the subscription and its payment, and sign-in and security logs; the Privacy Policy applies to that data.
The Agreement consists of these Introductory provisions, the Clauses in Sections I to III, the Additional provisions and Annexes I to IV. The Clauses are drawn up on the standard contractual clauses of Commission Implementing Decision (EU) 2021/915 of 4 June 2021 and take its official text, with the provisions that refer to Regulation (EU) 2016/679.
On matters of processing personal data, this Agreement prevails over the Terms of Service and the Privacy Policy.
The business can print this Agreement or save it as a PDF from this page at any time. We send earlier versions on request to info@operitivo.com.
Section I
Clause 1Purpose and scope
The purpose of these Clauses is to ensure compliance with Article 28(3) and (4) of Regulation (EU) 2016/679 of the European Parliament and of the Council of 27 April 2016 on the protection of natural persons with regard to the processing of personal data and on the free movement of such data, and repealing Directive 95/46/EC (General Data Protection Regulation).
The controllers and processors listed in Annex I have agreed to these Clauses in order to ensure compliance with Article 28(3) and (4) of Regulation (EU) 2016/679.
These Clauses apply to the processing of personal data as specified in Annex II.
Annexes I to IV are an integral part of the Clauses.
These Clauses are without prejudice to obligations to which the controller is subject by virtue of Regulation (EU) 2016/679.
These Clauses do not by themselves ensure compliance with obligations related to international transfers in accordance with Chapter V of Regulation (EU) 2016/679.
Clause 2Relation to the standard contractual clauses
These Clauses are not the standard contractual clauses of Implementing Decision (EU) 2021/915 but are drawn up on them: clause 5 is not taken over, and clause 7.7 has no point (e). The other clauses and points keep the numbers they have in that Decision.
The Additional provisions and the Annexes may not directly or indirectly contradict the Clauses or detract from the fundamental rights or freedoms of data subjects.
Clause 3Interpretation
Where these Clauses use the terms defined in Regulation (EU) 2016/679, those terms shall have the same meaning as in that Regulation.
These Clauses shall be read and interpreted in the light of the provisions of Regulation (EU) 2016/679.
These Clauses shall not be interpreted in a way that runs counter to the rights and obligations provided for in Regulation (EU) 2016/679 or in a way that prejudices the fundamental rights or freedoms of the data subjects.
Clause 4Hierarchy
In the event of a contradiction between these Clauses and the provisions of related agreements between the Parties existing at the time when these Clauses are agreed or entered into thereafter, these Clauses shall prevail.
Section IIObligations of the Parties
Clause 6Description of processing(s)
The details of the processing operations, in particular the categories of personal data and the purposes of processing for which the personal data is processed on behalf of the controller, are specified in Annex II.
Clause 7Obligations of the Parties
7.1. Instructions
The processor shall process personal data only on documented instructions from the controller, unless required to do so by Union or Member State law to which the processor is subject. In this case, the processor shall inform the controller of that legal requirement before processing, unless the law prohibits this on important grounds of public interest. Subsequent instructions may also be given by the controller throughout the duration of the processing of personal data. These instructions shall always be documented.
The processor shall immediately inform the controller if, in the processor's opinion, instructions given by the controller infringe Regulation (EU) 2016/679 or the applicable Union or Member State data protection provisions.
7.2. Purpose limitation
The processor shall process the personal data only for the specific purpose(s) of the processing, as set out in Annex II, unless it receives further instructions from the controller.
7.3. Duration of the processing of personal data
Processing by the processor shall only take place for the duration specified in Annex II.
7.4. Security of processing
The processor shall at least implement the technical and organisational measures specified in Annex III to ensure the security of the personal data. This includes protecting the data against a breach of security leading to accidental or unlawful destruction, loss, alteration, unauthorised disclosure or access to the data (personal data breach). In assessing the appropriate level of security, the Parties shall take due account of the state of the art, the costs of implementation, the nature, scope, context and purposes of processing and the risks involved for the data subjects.
The processor shall grant access to the personal data undergoing processing to members of its personnel only to the extent strictly necessary for implementing, managing and monitoring of the contract. The processor shall ensure that persons authorised to process the personal data received have committed themselves to confidentiality or are under an appropriate statutory obligation of confidentiality.
7.5. Sensitive data
If the processing involves personal data revealing racial or ethnic origin, political opinions, religious or philosophical beliefs, or trade union membership, genetic data or biometric data for the purpose of uniquely identifying a natural person, data concerning health or a person's sex life or sexual orientation, or data relating to criminal convictions and offences ("sensitive data"), the processor shall apply specific restrictions and/or additional safeguards.
7.6. Documentation and compliance
The Parties shall be able to demonstrate compliance with these Clauses.
The processor shall deal promptly and adequately with inquiries from the controller about the processing of data in accordance with these Clauses.
The processor shall make available to the controller all information necessary to demonstrate compliance with the obligations that are set out in these Clauses and stem directly from Regulation (EU) 2016/679. At the controller's request, the processor shall also permit and contribute to audits of the processing activities covered by these Clauses, at reasonable intervals or if there are indications of non-compliance. In deciding on a review or an audit, the controller may take into account relevant certifications held by the processor.
The controller may choose to conduct the audit by itself or mandate an independent auditor. Audits may also include inspections at the premises or physical facilities of the processor and shall, where appropriate, be carried out with reasonable notice.
The Parties shall make the information referred to in this Clause, including the results of any audits, available to the competent supervisory authority on request.
7.7. Use of sub-processors
General written authorisation: the processor has the controller's general authorisation for the engagement of sub-processors from an agreed list; that list is in Annex IV. The processor shall specifically inform in writing the controller of any intended changes of that list through the addition or replacement of sub-processors at least 30 days in advance, thereby giving the controller sufficient time to be able to object to such changes prior to the engagement of the concerned sub-processor(s). The processor shall provide the controller with the information necessary to enable the controller to exercise the right to object.
Where the processor engages a sub-processor for carrying out specific processing activities (on behalf of the controller), it shall do so by way of a contract which imposes on the sub-processor, in substance, the same data protection obligations as the ones imposed on the data processor in accordance with these Clauses. The processor shall ensure that the sub-processor complies with the obligations to which the processor is subject pursuant to these Clauses and to Regulation (EU) 2016/679.
At the controller's request, the processor shall provide a copy of such a sub-processor agreement and any subsequent amendments to the controller. To the extent necessary to protect business secret or other confidential information, including personal data, the processor may redact the text of the agreement prior to sharing the copy.
The processor shall remain fully responsible to the controller for the performance of the sub-processor's obligations in accordance with its contract with the processor. The processor shall notify the controller of any failure by the sub-processor to fulfil its contractual obligations.
7.8. International transfers
Any transfer of data to a third country or an international organisation by the processor shall be done only on the basis of documented instructions from the controller or in order to fulfil a specific requirement under Union or Member State law to which the processor is subject and shall take place in compliance with Chapter V of Regulation (EU) 2016/679.
The controller agrees that where the processor engages a sub-processor in accordance with Clause 7.7. for carrying out specific processing activities (on behalf of the controller) and those processing activities involve a transfer of personal data within the meaning of Chapter V of Regulation (EU) 2016/679, the processor and the sub-processor can ensure compliance with Chapter V of Regulation (EU) 2016/679 by using standard contractual clauses adopted by the Commission in accordance with Article 46(2) of Regulation (EU) 2016/679, provided the conditions for the use of those standard contractual clauses are met.
Clause 8Assistance to the controller
The processor shall promptly notify the controller of any request it has received from the data subject. It shall not respond to the request itself, unless authorised to do so by the controller.
The processor shall assist the controller in fulfilling its obligations to respond to data subjects' requests to exercise their rights, taking into account the nature of the processing. In fulfilling its obligations in accordance with (a) and (b), the processor shall comply with the controller's instructions.
In addition to the processor's obligation to assist the controller pursuant to Clause 8(b), the processor shall furthermore assist the controller in ensuring compliance with the following obligations, taking into account the nature of the data processing and the information available to the processor:
the obligation to carry out an assessment of the impact of the envisaged processing operations on the protection of personal data (a 'data protection impact assessment') where a type of processing is likely to result in a high risk to the rights and freedoms of natural persons;
the obligation to consult the competent supervisory authority prior to processing where a data protection impact assessment indicates that the processing would result in a high risk in the absence of measures taken by the controller to mitigate the risk;
the obligation to ensure that personal data is accurate and up to date, by informing the controller without delay if the processor becomes aware that the personal data it is processing is inaccurate or has become outdated;
the obligations in Article 32 of Regulation (EU) 2016/679.
The Parties shall set out in Annex III the appropriate technical and organisational measures by which the processor is required to assist the controller in the application of this Clause as well as the scope and the extent of the assistance required.
Clause 9Notification of personal data breach
In the event of a personal data breach, the processor shall cooperate with and assist the controller for the controller to comply with its obligations under Articles 33 and 34 of Regulation (EU) 2016/679, taking into account the nature of processing and the information available to the processor.
9.1. Data breach concerning data processed by the controller
In the event of a personal data breach concerning data processed by the controller, the processor shall assist the controller:
in notifying the personal data breach to the competent supervisory authority, without undue delay after the controller has become aware of it, unless the personal data breach is unlikely to result in a risk to the rights and freedoms of natural persons;
in obtaining the following information which, pursuant to Article 33(3) of Regulation (EU) 2016/679, shall be stated in the controller's notification, and must at least include:
the nature of the personal data including where possible, the categories and approximate number of data subjects concerned and the categories and approximate number of personal data records concerned;
the likely consequences of the personal data breach;
the measures taken or proposed to be taken by the controller to address the personal data breach, including, where appropriate, measures to mitigate its possible adverse effects.
Where, and insofar as, it is not possible to provide all this information at the same time, the initial notification shall contain the information then available and further information shall, as it becomes available, subsequently be provided without undue delay.
in complying, pursuant to Article 34 of Regulation (EU) 2016/679, with the obligation to communicate without undue delay the personal data breach to the data subject, when the personal data breach is likely to result in a high risk to the rights and freedoms of natural persons.
9.2. Data breach concerning data processed by the processor
In the event of a personal data breach concerning data processed by the processor, the processor shall notify the controller without undue delay after the processor having become aware of the breach. Such notification shall contain, at least:
a description of the nature of the breach (including, where possible, the categories and approximate number of data subjects and data records concerned);
the details of a contact point where more information concerning the personal data breach can be obtained;
its likely consequences and the measures taken or proposed to be taken to address the breach, including to mitigate its possible adverse effects.
Where, and insofar as, it is not possible to provide all this information at the same time, the initial notification shall contain the information then available and further information shall, as it becomes available, subsequently be provided without undue delay.
The Parties shall set out in Annex III all other elements to be provided by the processor when assisting the controller in the compliance with the controller's obligations under Articles 33 and 34 of Regulation (EU) 2016/679.
Section IIIFinal provisions
Clause 10Non-compliance with the Clauses and termination
Without prejudice to any provisions of Regulation (EU) 2016/679, in the event that the processor is in breach of its obligations under these Clauses, the controller may instruct the processor to suspend the processing of personal data until the latter complies with these Clauses or the contract is terminated. The processor shall promptly inform the controller in case it is unable to comply with these Clauses, for whatever reason.
The controller shall be entitled to terminate the contract insofar as it concerns processing of personal data in accordance with these Clauses if:
the processing of personal data by the processor has been suspended by the controller pursuant to point (a) and if compliance with these Clauses is not restored within a reasonable time and in any event within one month following suspension;
the processor is in substantial or persistent breach of these Clauses or its obligations under Regulation (EU) 2016/679;
the processor fails to comply with a binding decision of a competent court or the competent supervisory authority regarding its obligations pursuant to these Clauses or to Regulation (EU) 2016/679.
The processor shall be entitled to terminate the contract insofar as it concerns processing of personal data under these Clauses where, after having informed the controller that its instructions infringe applicable legal requirements in accordance with Clause 7.1 (b), the controller insists on compliance with the instructions.
Following termination of the contract, the processor shall, at the choice of the controller, delete all personal data processed on behalf of the controller and certify to the controller that it has done so, or, return all the personal data to the controller and delete existing copies unless Union or Member State law requires storage of the personal data. Until the data is deleted or returned, the processor shall continue to ensure compliance with these Clauses.
Additional provisions
1. Obligations of the controller
The business is responsible for having a legal basis for processing the personal data it enters in Operitivo or that Operitivo receives for it, and for having informed the data subjects of the processing (Articles 6, 13 and 14 of the GDPR).
The business's documented instructions under clause 7.1 are the Terms of Service, this Agreement and the actions the business and its users take in Operitivo, such as entering a client, sending a quote by e-mail, issuing an invoice or connecting Minimax. The business gives other instructions in writing to info@operitivo.com.
The business decides which of its users have access to Operitivo and with which role, and is responsible for their actions in Operitivo.
The business does not enter sensitive data within the meaning of clause 7.5 in free-text fields (notes, descriptions, remarks), nor a diagnosis or other health data in the note on sick leave. The only health data Operitivo provides for is sick leave, recorded as a type of a worker's absence and as a worker's status (Annex II); the business processes it as an employer under employment law (Article 9(2)(b) of the GDPR).
2. Personal data breach
Operitivo sends the notification under clause 9.2 no later than 48 hours after becoming aware of the breach, by e-mail to the account owner and the business's administrators. If not all the information is known yet, the first notification contains what is known, and we send the rest as soon as we learn it.
The business, as controller, notifies the supervisory authority and the data subjects of the breach (Articles 33 and 34 of the GDPR). Operitivo assists it under clause 9, and notifies them on its behalf only if the business authorises it in writing.
3. Changes of sub-processors
We send the notice under clause 7.7(a) by e-mail to the account owner and the business's administrators, show it in the app and add it to the change log in Annex IV, at least 30 days before the new sub-processor starts processing the business's data. The notice names the sub-processor, its task, where it processes the data and on what basis the data is transferred outside the European Economic Area, if it is.
The business objects in writing to info@operitivo.com before that period ends. On an objection, Operitivo does not use the new sub-processor for that business, for example by switching off the function that needs it. Where that is not possible, the business may terminate the contract without cost by the date of the change, and Operitivo refunds the unused part of the prepaid subscription. Until then that business's data does not reach the new sub-processor.
4. Audits
We provide the information under clause 7.6(c) first as documentation: the description of the measures in Annex III, the sub-processors' SOC 2 or ISO 27001 reports as far as they allow us to share them, and answers to the business's questionnaire.
If the documentation is not enough, the business may carry out a remote audit or one at the premises of Semicolon d.o.o., announced at least 30 days in advance, as a rule once a year. Where there are indications of a breach of this Agreement or a supervisory authority asks for the audit, neither the limit of one audit a year nor the 30 days apply, and the audit is announced with reasonable notice.
The audit is carried out by the business itself or by an auditor it chooses who has committed in writing to confidentiality. The audit does not cover other businesses' data.
5. End of processing
The Agreement lasts while the business uses Operitivo and after that until Operitivo deletes or returns its data under this point.
While it uses the service and for 30 days after the service ends, the business can download its data from Operitivo (for example invoice and quote PDFs). On a written request sent within that period, Operitivo sends it an export of all its data in a machine-readable format (CSV or JSON), with its files. This is the return of data under clause 10(d).
No later than 60 days after the service ends, Operitivo deletes the business's data from the database and the file storage the service runs on and confirms this by e-mail to the account owner.
After that the business's data remains only in these copies, until they are gone:
in encrypted database backups: daily ones expire after 7 days, weekly ones after 4 weeks, and monthly and manual ones after 12 months;
in the copies the database and file storage providers keep for recovery, which expire before the monthly backups;
in database copies for test versions of the app: a test version on which we test a change of the app may get a copy of the production database as it was when the test version was created. Such a copy exists while that change is open and is deleted at the next weekly cleanup after the change closes, normally within 8 days, so it can outlast the 60 days in point 5.3. Access to the test versions and those copies is protected by a sign-in to Operitivo's Vercel team and limited to persons Semicolon d.o.o. authorises;
after the database moves to another region, in the old database, which we delete no later than 30 days after the move;
in a database copy the database provider leaves when we restore the database to an earlier point, or that we make from an earlier point to investigate an error, which we delete the same day and no later than 7 days after it is made.
We use backups only to recover the system; if we restore a backup that contains the business's data, we delete that data again at once.
Records at the sub-processors (e-mails sent, error reports, server logs) are deleted when their retention periods end.
On the business's written instruction given before the period in point 5.2 ends, Operitivo keeps, instead of deleting, a read-only archive of its invoices and other records the business must keep by law, until the statutory retention period of each record ends. Before that, Operitivo disconnects the business's Minimax and other connected services, so the archive no longer changes. This Agreement continues to apply to that archive for that time.
Without such an instruction Operitivo does not keep the business's data after the periods in this point. Keeping invoices and business records is the business's duty (Article 66(18) and Article 108 of the General Tax Act, Article 82 of the VAT Act, Articles 10 and 13 of the Accounting Act and Article 35 of the Fiscalization Act), so the business downloads them before deletion.
6. Changes, governing law and language
The list of sub-processors changes under clause 7.7 and point 3 of these Additional provisions.
Operitivo announces any other change to this Agreement by e-mail to the account owner and in the app at least 30 days before it takes effect, with a summary of the changes. A change applies to the business once the business accepts it. A business that does not accept the change may terminate the contract without cost by the date the change takes effect, and Operitivo refunds the unused part of the prepaid subscription.
This Agreement is governed by the law of the Republic of Croatia. The court named in the Terms of Service has jurisdiction over disputes. The Croatian text prevails; the English and German texts are translations.
Annex IList of parties
Controller
Name, OIB and address: the business that has accepted this Agreement, as entered in Operitivo (Settings, business details).
Contact person: the owner of the business's account in Operitivo, at the e-mail address of their user account. The business's administrators also receive the notices under this Agreement.
Data protection officer: if the business has appointed one, it sends their details to info@operitivo.com.
Acceptance: the account owner accepts the Agreement in Operitivo, and Operitivo records the date and the version accepted.
Processor
Name: Semicolon d.o.o., OIB 03411437372
Address: Rakovčeva ulica 60, 52100 Pula, Croatia
Contact person: Bojan Dragojević, director, info@operitivo.com
Data protection officer: not appointed; Article 37 of the GDPR does not require one of Semicolon d.o.o.
Acceptance: Semicolon d.o.o. accepts the Agreement by publishing it on this page, and it applies with a given business from the day that business accepts it.
Annex IIDescription of the processing
Categories of data subjects whose personal data is processed
the business's clients and their contact persons
prospective clients and people who send the business an enquiry
recipients of the business's quotes, invoices and other documents
people who sign work orders and people who appear in photos taken on site
the business's workers and the users of its Operitivo account
suppliers' contact persons and people named in suppliers' documents (scanned supplier invoices and received eInvoices)
Categories of personal data processed
name, OIB or VAT identification number, address, e-mail and phone
IBAN, amounts, payment method and payment status
the content of quotes, jobs, work orders, invoices, enquiries, notes and attached documents
the business's vehicles (plate, VIN, mileage, registration and insurance) and the work orders they were used on
service locations (addresses, coordinates and access notes) and clients' properties and equipment
signatures on work orders, with the signer's name, e-mail, IP address and device, and photos taken on site
workers' data: user account, role, position, hourly rate, assigned jobs and time worked on work orders, schedule, annual leave and other absences
for users who issue invoices: the operator's OIB, which is sent with a fiscalized invoice, and, when Operitivo adds them to Minimax as cashiers, their gender
supplier and line data from scanned supplier invoices and received eInvoices
Sensitive data processed and applied restrictions or safeguards
The service is not meant for processing sensitive data within the meaning of clause 7.5, with one exception: sick leave, recorded as a type of a worker's absence (with its dates) and as a worker's status, without a diagnosis, which is data concerning health. The business processes it as an employer under employment law (Article 9(2)(b) of the GDPR). Only users whose role may see workers see it, and the worker also sees their own absences; Operitivo uses it for nothing else. The business enters no diagnosis or other health data, not even in the note on sick leave (point 1.4 of the Additional provisions).
Signatures and photos are not biometric data, because they are not processed through specific technical means that allow the unique identification of a person (Article 4(14) and recital 51 of the GDPR).
The business does not enter other sensitive data (point 1.4 of the Additional provisions).
Nature of the processing
storing data and showing it in the web and mobile app
storing files (photos, attachments, scanned invoices, PDF documents)
generating PDF documents
sending e-mails and push notifications
fiscalizing invoices with the Tax Administration and sending eInvoices through the information intermediary the business chooses
reading the text of scanned supplier invoices and extracting lines from them and from lists of materials a worker dictates or types, with an artificial intelligence language model
error monitoring, user support and backups
transferring data to services the business connects itself, such as Minimax or Google Calendar, on its instruction
Purpose(s) for which the personal data is processed on behalf of the controller
Providing the Operitivo service to the business under the Terms of Service: managing clients, enquiries, quotes, jobs, work orders, invoices, the warehouse, vehicles, equipment, workers and the calendar, issuing and fiscalizing invoices, sending and receiving eInvoices, and supporting the business's users.
Duration of the processing
While the business uses Operitivo, and after that until the data is deleted or returned under point 5 of the Additional provisions; for an archive the business requests under point 5.6, until the statutory retention periods end.
Processing by sub-processors
The subject matter, nature and duration of the processing by each sub-processor are set out in Annex IV. A sub-processor processes the data only for the task named there and only while the processing by Operitivo lasts, except for the records in point 5.5 of the Additional provisions.
Annex IIITechnical and organisational measures
Protection of data during transmission
The app is reached only over HTTPS (TLS). The app connects to the database, the file storage, the Tax Administration and the sub-processors over encrypted connections (TLS), and to the Tax Administration also with the business's certificate.
Protection of data during storage
The database, the file storage and the backups are encrypted at rest at the providers (Annex IV).
The app additionally encrypts the fiscalization certificate and its password, the eInvoice intermediary's keys, the Minimax password and the access to Google Calendar (AES-256-GCM) with a key that is not kept in the database.
User passwords are stored only as a hash (bcrypt).
Database backups are encrypted (AES-256) before they are stored at a separate location.
Separation of businesses' data
Every record in the database belongs to one business, and on every request of a signed-in user the app reads and changes only the records of that user's business; the exception is the client's signing link, described in the next point.
The business's files (photos taken on site, signed work orders, attachments, scanned invoices) are in a private storage, in that business's folder. They open through the app after the sign-in and the permission are checked, through links the mobile app gets signed for 6 hours, or, for a work order sent to the client for signing, through the client's signing link, which opens the signed work order and that work order's photos without a sign-in. Only images the business puts in its quote layout (for example its logo) and users' profile pictures are public.
User identification and authorisation
Sign-in with a password, after the e-mail address is confirmed, or with a Google account.
On the server the app limits every request of a signed-in user to the data of that user's business; the exception is the client's link for signing a work order. Within a business every user has a role (administrator, sales, accountant, worker) that limits access to most data: for the main parts of the app (invoices, received invoices, quotes, enquiries, clients, jobs, warehouse, workers, tasks, appointments, team and settings) the app also checks on the server whether that role may do it. Parts that do not have such a check yet (for example clients' equipment, properties and activities, and the list of workers on a work order, which shows their contact details and hourly rates) are open to every user of the business.
Changing or resetting a password ends that user's sessions on other devices.
Access by the processor's personnel
Today only the director of Semicolon d.o.o. has access to the production database and the file storage; access to test versions of the app and their database copies is described in point 5.4 of the Additional provisions. Anyone else gets it only after a written commitment to confidentiality and only as far as their work requires.
We access the business's data only to provide the service, for support the business asks for or to fix an error.
Event logging and error monitoring
App errors are sent to the error monitoring service without the user's IP address and cookies. Before sending, OIBs, the values of fields holding a tax or VAT number or gender, VAT numbers in requests to VIES and Minimax, and one-time codes and tokens written in a link as parameters are removed from the error record. A token written in the link's path itself (for example in a link to sign a work order or to accept an invitation) is not removed.
A session replay is recorded only for a share of errors (10 %), with text and images hidden; the page and request addresses in a replay do not go through that removal, so an OIB or VAT number can remain in them (for example when a VAT number is checked).
For an invoice Operitivo issues itself, the app records the user who issued it and the time of issue. For an invoice issued through Minimax, it records the operator (cashier) Minimax puts on the invoice, with their OIB, when Minimax returns one, the Operitivo user with that OIB if there is exactly one, and the issue day Minimax reports. A reversal made directly in Minimax and confirmed in Operitivo records no operator.
Availability and recovery
The database provider allows restoring the database to an earlier point in time within its recovery window.
Every day we make an encrypted backup of the database at a separate location (Cloudflare R2): we keep daily backups for 7 days, weekly ones for 4 weeks, and monthly and manual ones for 12 months.
We change the database structure so that the previous version of the app keeps working, and remove columns and tables only in a later, separate change.
Testing the effectiveness of the measures
Every code change passes automated tests and a review before it is released.
We review the measures in this Annex when the service or a sub-processor changes, and at least once a year.
Measures to assist the controller (clauses 8 and 9)
Data subject requests: the business itself finds, corrects and deletes the data of clients, enquiries, workers and other records in the app and downloads their documents. What it cannot do itself, we do at its request without undue delay, so that it can reply within the period in Article 12(3) of the GDPR.
A data subject request that reaches us directly we forward to the business and do not answer ourselves (clause 8(a)).
Impact assessment and consulting the supervisory authority: at the business's request we provide the description of the processing, the measures and the sub-processors it needs for that.
Breach notification: besides the information in clause 9.2, it states when the breach happened and when we became aware of it, which functions and sub-processors it concerns and what the business can do itself, for example change passwords.
Breach procedure: we establish its scope, stop the breach and keep the records, notify the businesses concerned within the period in point 2.1 of the Additional provisions, and record every breach with its facts, effects and the measures taken.
Annex IVList of sub-processors
The controller has authorised the engagement of the following sub-processors (clause 7.7(a)). For each one we state its task, the data it accesses, where it processes the data and, if the data is transferred outside the European Economic Area, the basis for the transfer (Chapter V of the GDPR).
Vercel Inc.
440 N Barranca Ave #4133, Covina, CA 91723, USA
- Task
- hosting the app, running its server code, scheduled jobs and logs
- Data
- all data the app processes during a request, and request logs
- Place of processing
- USA (Washington, D.C.); the server code moves to Frankfurt, Germany, together with the database. Vercel does not state where it keeps logs.
- Basis for transfers outside the EEA
- EU-U.S. Data Privacy Framework (Commission Implementing Decision (EU) 2023/1795 of 10 July 2023), and in the alternative standard contractual clauses (Commission Implementing Decision (EU) 2021/914)
- The provider's data processing terms
- https://vercel.com/legal/dpa
Databricks, Inc. (Neon, LLC)
160 Spear Street, 15th Floor, San Francisco, CA 94105, USA
- Task
- database
- Data
- all of the business's data in Operitivo except files
- Place of processing
- USA (AWS us-east-1, Northern Virginia); the database moves to Frankfurt, Germany (AWS eu-central-1)
- Basis for transfers outside the EEA
- EU-U.S. Data Privacy Framework (Commission Implementing Decision (EU) 2023/1795 of 10 July 2023), and in the alternative standard contractual clauses (Commission Implementing Decision (EU) 2021/914)
- The provider's data processing terms
- https://www.databricks.com/legal/dpa
Google Cloud EMEA Limited (Google LLC)
70 Sir John Rogerson's Quay, Dublin 2, Ireland
- Task
- file storage, generating PDF documents and reading the text of scanned supplier invoices (Cloud Vision)
- Data
- the business's files, the content of documents turned into PDFs and images of scanned invoices
- Place of processing
- EU (file storage in several EU regions, PDF generation in Frankfurt, Germany, text recognition on Google's EU service with location eu)
- Basis for transfers outside the EEA
- EU-U.S. Data Privacy Framework (Commission Implementing Decision (EU) 2023/1795 of 10 July 2023)
- The provider's data processing terms
- https://cloud.google.com/terms/data-processing-addendum
Anthropic Ireland, Limited (Anthropic, PBC)
6th Floor, South Bank House, Barrow Street, Dublin 4, Ireland
- Task
- extracting lines with an artificial intelligence language model from the text of scanned supplier invoices and from lists of materials a worker dictates or types, and matching them to the warehouse items
- Data
- the text of a scanned supplier invoice, the text a worker dictates or types, and the names, codes, categories and units of the business's warehouse items
- Place of processing
- USA and other countries where Anthropic processes requests; stored in the USA for no more than 30 days
- Basis for transfers outside the EEA
- standard contractual clauses (Commission Implementing Decision (EU) 2021/914)
- The provider's data processing terms
- https://www.anthropic.com/legal/data-processing-addendum
Plus Five Five, Inc. (Resend)
2261 Market Street #5039, San Francisco, CA 94114, USA
- Task
- sending e-mails (quotes, invoices, invitations and notifications)
- Data
- recipients' addresses, the message content and attachments
- Place of processing
- USA
- Basis for transfers outside the EEA
- EU-U.S. Data Privacy Framework (Commission Implementing Decision (EU) 2023/1795 of 10 July 2023), and in the alternative standard contractual clauses (Commission Implementing Decision (EU) 2021/914)
- The provider's data processing terms
- https://resend.com/legal/dpa
650 Industries, Inc. (Expo)
624 University Ave FL1, Palo Alto, CA 94301, USA
- Task
- push notifications to the mobile app, which Expo hands over to Apple (APNs) and Google (FCM)
- Data
- the device token and the text of the notification
- Place of processing
- USA
- Basis for transfers outside the EEA
- EU-U.S. Data Privacy Framework (Commission Implementing Decision (EU) 2023/1795 of 10 July 2023), and in the alternative standard contractual clauses (Commission Implementing Decision (EU) 2021/914)
- The provider's data processing terms
- https://expo.dev/terms
Functional Software, Inc. (Sentry)
45 Fremont Street, 8th Floor, San Francisco, CA 94105, USA
- Task
- error monitoring
- Data
- the error description and the app's state at that moment, without IP address, with OIBs removed from the error report; for a share of errors session replays with text and images hidden, whose request addresses can keep an OIB or VAT number
- Place of processing
- Germany (Frankfurt); our own account details at Sentry in the USA
- Basis for transfers outside the EEA
- EU-U.S. Data Privacy Framework (Commission Implementing Decision (EU) 2023/1795 of 10 July 2023), and in the alternative standard contractual clauses (Commission Implementing Decision (EU) 2021/914)
- The provider's data processing terms
- https://sentry.io/legal/dpa/
Intercom R&D Unlimited Company (Intercom, Inc.)
2nd Floor, Stephen Court, 18-21 St. Stephen's Green, Dublin 2, Ireland
- Task
- support chat in the app, when it is switched on
- Data
- the user's name, e-mail and role, the business's name and OIB, and what the user writes in the chat
- Place of processing
- USA
- Basis for transfers outside the EEA
- EU-U.S. Data Privacy Framework (Commission Implementing Decision (EU) 2023/1795 of 10 July 2023), and in the alternative standard contractual clauses (Commission Implementing Decision (EU) 2021/914)
- The provider's data processing terms
- https://www.intercom.com/legal/data-processing-agreement
GitHub, Inc.
88 Colin P Kelly Jr Street, San Francisco, CA 94107, USA
- Task
- running the daily database backup job
- Data
- the database content, which passes through GitHub's server during the backup before it is encrypted
- Place of processing
- USA
- Basis for transfers outside the EEA
- EU-U.S. Data Privacy Framework (Commission Implementing Decision (EU) 2023/1795 of 10 July 2023)
- The provider's data processing terms
- https://github.com/customer-terms
Cloudflare, Inc.
101 Townsend Street, San Francisco, CA 94107, USA
- Task
- storing encrypted database backups (R2)
- Data
- encrypted backups; Cloudflare does not have the key to decrypt them
- Place of processing
- the storage location is not confirmed, so storage outside the EU is possible
- Basis for transfers outside the EEA
- EU-U.S. Data Privacy Framework (Commission Implementing Decision (EU) 2023/1795 of 10 July 2023)
- The provider's data processing terms
- https://www.cloudflare.com/cloudflare-customer-dpa/
The database and the server code are moving to Frankfurt, Germany. When the move is complete, we update this Annex and add the change to the change log; the move does not change the sub-processors.
The safeguards for transfers (the EU-U.S. Data Privacy Framework or standard contractual clauses) are in each provider's data processing terms, at the link next to it, and we also send a copy on request to info@operitivo.com.
Not sub-processors under this Agreement:
Stripe (Stripe Payments Europe, Limited), which collects the Operitivo subscription; for that data Semicolon d.o.o. is the controller (Privacy Policy)
Seyfor Hrvatska d.o.o. (Minimax), which processes data as the business's processor under the business's own Minimax contract, when the business connects Minimax
the eInvoice information intermediary the business chooses and confirms in FiskAplikacija, which is the business's own provider under its own contract (Article 58(4) of the Fiscalization Act)
the Tax Administration, which receives invoice data for fiscalization by law
Google, when a user connects their Google Calendar or signs in with a Google account; Google then receives the data under the user's own agreement with Google
Changes to the list of sub-processors
- October 31, 2026: First list.
Changes to this Agreement
- October 31, 2026: first version of the Agreement.