← Back to PerfectFlow

Data processing agreement

It governs the processing Code Flakes LLC carries out on the Client's behalf of the personal data the Client loads into its instance, under Article 28 of Regulation (EU) 2016/679. By subscribing to PerfectFlow you accept this agreement together with the terms of service.

Last updated:

Contents

— Parties

Controller
the company that subscribes to the service, identified in the subscription sign-up ("the Client")
Processor
Code Flakes LLC, a company incorporated in the State of Florida, United States, with its address at 4851 W Hillsboro Blvd, A3, Coconut Creek, FL 33073, United States ("CodeFlakes")
Representative in the European Union
Prighter Group, with its local partners, appointed by CodeFlakes under Article 27 of the GDPR. Contact: https://app.prighter.com/portal/13067132566

This agreement forms part of the PerfectFlow terms of service, which the Client accepts on subscribing, and is inseparable from them. It is the same for every client. If the two conflict on a data protection matter, this agreement prevails.

Scope. This agreement applies where the GDPR, or its United Kingdom equivalent, applies to the Client's processing of the data it loads into its Instance: because the Client is established in the European Economic Area or the United Kingdom, or because it processes data of people located there in the cases covered by Article 3 of the GDPR. If that law does not apply to the Client, this agreement does not apply and the relationship is governed by the terms of service and the privacy policy.

1 Subject matter

CodeFlakes processes personal data on the Client's behalf in order to provide the PerfectFlow service. The Client is the controller and CodeFlakes the processor, within the meaning of Regulation (EU) 2016/679 ("GDPR").

The subject matter, duration, nature, purpose, types of data and categories of data subjects are set out in Annex I.

2 The Client's obligations

  1. To determine the purposes and means of the processing, and to ensure it has a legal basis for the data it loads into its instance.
  2. To inform data subjects in accordance with Articles 13 and 14 of the GDPR, and to obtain and keep proof of consent where that is the legal basis.
  3. To give lawful, documented instructions.
  4. Special categories of data under Article 9 of the GDPR: to load them only where the law allows it and under its sole responsibility, after assessing that the measures in Annex II are adequate for that data. The service is not designed or certified for them and is not offered as HIPAA-compliant.
  5. To manage the user accounts of its instance and revoke access that is no longer needed.
  6. The Client represents and warrants that it complies with its own obligations as controller, including, where applicable, appointing a representative in the European Union under Article 27 of the GDPR. A breach of those obligations is not attributable to CodeFlakes.
  7. Everything the Client puts into the Instance, it puts there under its own responsibility. By loading data — by hand, by import, through forms or public pages, or through integrations — it represents that it obtained the data lawfully and holds the authorisations needed to process it. CodeFlakes does not review or control that content.
  8. To decide how long it keeps each record and to erase it when appropriate, using the tools in Annex II. CodeFlakes does not delete or purge data in the Instance on its own initiative while the service is active.
  9. To configure its public pages — what data they ask for and whether they charge — and the integrations it connects, and to answer for that configuration.

3 Instructions

CodeFlakes processes personal data only on the Client's documented instructions, including those on international transfers, unless required to do otherwise by Union or Member State law applicable to it, in which case it will inform the Client before processing unless that law prohibits it on important grounds of public interest. Requests from third-country authorities do not in themselves amount to an obligation that allows CodeFlakes to depart from the Client's instructions: CodeFlakes examines them, informs the Client where applicable law allows, and limits itself to what is strictly required. If Standard Contractual Clauses are ever incorporated, the procedure they lay down will also apply.

The terms of service, this agreement, the way the Client configures its Instance and the ordinary use of the system by its users constitute the initial instructions.

Later instructions are given by email to the designated addresses. Coordination by instant messaging or other channels is not a documented instruction for the purposes of this clause.

CodeFlakes will inform the Client immediately if, in its opinion, an instruction infringes the GDPR or other data protection law, and will suspend its execution for as long as the incompatibility persists. The Client's confirmation does not make the content of the instruction lawful: execution resumes only if the instruction is changed or the Client demonstrates that it is lawful.

The above does not prevent CodeFlakes from taking urgent containment measures in a security incident without waiting for an instruction by email. Those measures are documented and communicated to the Client without undue delay.

CodeFlakes does not use the Client's data for its own purposes. In particular, it does not use it to train artificial intelligence models, to build its own products or statistics — except for the aggregate counts in the next paragraph — or for advertising.

Operational counts. The Client instructs CodeFlakes to derive from the Instance, as part of running it, aggregate counts that identify no data subject: number of records per module, of emails and messages sent and failed, of errors per screen, and whether the initial setup is finished, together with the server's technical reports. Once aggregated, CodeFlakes may use those counts to run, maintain, support and improve the service. They include neither the content of the records nor data about data subjects, and are described in Annex IV.

Service usage measurement. Measuring how the Client's users use the service — screens opened and time in view, added up per day and per role, and distinct users counted without keeping their identifiers — is not processing on the Client's behalf: CodeFlakes decides it for its own purposes — running, supporting and improving the service — and carries it out as controller, under section 10 of the privacy policy, which sets its legal basis, its scope and its retention period of ninety (90) days at most. It therefore falls outside this agreement. It does not reach the content of the Instance or the Client's customers or contacts, it is not kept per person, and the Client may ask for it to be turned off for its Instance. On Instances hosted in the European Economic Area, time in view — which is measured in the user's browser — is turned off unless the Client asks in writing for it to be turned on; only the screens opened are counted, on the server.

4 Confidentiality

CodeFlakes ensures that the persons authorised to process the data have committed to confidentiality in writing or are under an equivalent legal obligation, and that the commitment survives the end of their relationship with CodeFlakes.

Access is limited to those who need it to operate or support the instance.

5 Security

CodeFlakes applies the appropriate technical and organisational measures under Article 32 of the GDPR, described in Annex II.

CodeFlakes may update those measures, provided the resulting level of security is not lower than that of Annex II.

6 Subprocessors

The Client gives CodeFlakes general authorisation to engage the subprocessors in Annex III.

PerfectFlow offers integrations with third-party services — payment gateways, social media accounts, outgoing mail server or Gmail or Google Workspace account, scheduling, and whatever the Client connects through the automation engine. Those services run on the Client's own accounts, which it contracts and controls, and are not subprocessors of CodeFlakes: the Client has its own contractual relationship with them, and CodeFlakes only transmits to them what the Client configures and stores in the Instance the data those accounts generate. CodeFlakes does not control those connections and does not answer for them. They are listed in Annex III for information, and connecting or disconnecting them is the Client's decision and does not require the notice in this clause.

CodeFlakes binds each subprocessor to data protection obligations no less demanding than those of this agreement, and answers to the Client for the subprocessor's compliance.

Before adding or replacing a subprocessor, CodeFlakes will notify the Client at least thirty (30) days in advance, and will also publish it at perfectflow.cloud/en/subprocessors, which shows the current list at all times. During that period the Client may object on reasonable, data-protection grounds. If the parties do not reach a solution, the Client may terminate the contract without penalty.

7 Assistance to the Client

Data subject rights

CodeFlakes assists the Client, through appropriate technical and organisational measures and as far as possible, in responding to requests for access, rectification, erasure, restriction, portability and objection. That assistance includes exporting, correcting and erasing the records the Client indicates.

If a data subject contacts CodeFlakes directly, CodeFlakes will not respond on the merits and will pass the request to the Client without undue delay.

Other obligations

CodeFlakes assists the Client in complying with Articles 32 to 36 of the GDPR — security, breach notification, impact assessment and prior consultation — taking into account the nature of the processing and the information available to it.

8 Personal data breaches

CodeFlakes will notify the Client of any personal data breach without undue delay and, in any event, within twenty-four (24) hours of becoming aware of it.

The notification will be sent to the contact designated in Annex I and will include, to the extent available: the nature of the breach, the categories and approximate number of data subjects and records affected, the likely consequences, the measures taken or proposed, and a point of contact.

If it is not possible to provide all the information at once, it will be provided in phases without further delay. CodeFlakes will document the breach and cooperate with the Client so that the Client can meet its own notification obligations within the legal time limits.

The time limit runs continuously, including outside working days and hours. The notification is deemed given at the moment it is sent to the contact address of the Client's account, which the Client must keep up to date and monitored.

Notifying the supervisory authority and the data subjects is the Client's responsibility, as controller, and is governed by Articles 33 and 34 of the GDPR, whose conditions differ from each other.

9 International transfers

CodeFlakes is a company incorporated in the United States. In ordinary operation, what connects to the Instance is the automated deployment system described below, not a person. The members of CodeFlakes who can access the Instance are located outside the European Economic Area, and they access it only when necessary to resolve a problem that is blocking the service and cannot be resolved any other way. The hosting region does not by itself settle how that access is characterised: hosting the Instance in the European Economic Area does not determine whether remote access by CodeFlakes, or by subprocessors established outside the EEA, constitutes an international transfer. That characterisation is made in accordance with the following paragraphs.

Those who access are members of CodeFlakes, under a documented duty of confidentiality. No external contractors or staff of other companies are involved, so this access is not sub-processing.

Operation and support tasks are carried out on the server itself, by connecting to the Instance. No copies of the database, the files or the backups are downloaded or replicated to machines outside the Region. The data stays in the Instance's Region; what crosses the border is the access, not a copy.

CodeFlakes keeps the list of countries from which access is made up to date and provides it to the Client on request.

Version updates, migrations and initial configuration are not run by a person connected to the server but by an automated deployment system (GitHub Actions, operated by GitHub, Inc., United States), which connects to the Instance, runs the commands on the server itself and does not extract copies of the data. GitHub, Inc. is listed as a subprocessor in Annex III.

Annex IV sets out the map of flows: recipient and legal entity, country of origin and of destination or access, purpose, categories of data, and the applicable safeguards. The safeguards applicable to each flow are determined by the facts of the flow and by all relevant legal criteria, including where the parties are established and the territorial scope of the law. The map documents those facts; it does not replace that assessment.

This agreement does not incorporate Standard Contractual Clauses and does not rely on an adequacy decision for the access described in this clause. If the Client requires them, the parties will sign them in accordance with the following paragraphs.

Measures applied. CodeFlakes applies to that access the measures in this clause and in Annex II: access only when a problem is blocking the service, always through an encrypted VPN with an exit point in the United States, support on the server itself with no copies downloaded, and its own people bound by confidentiality.

By accepting this agreement, the Client acknowledges how and from where the Instance is accessed, as set out in this clause, and accepts it.

If the Client considers it necessary to sign Standard Contractual Clauses or another instrument, it may propose it at any time. CodeFlakes will cooperate in good faith, provide the necessary information and sign the instrument that is reasonably applicable. Each party bears the cost of its own advice.

The Client may terminate this agreement and the contract at any time on this ground, without penalty, and CodeFlakes will proceed in accordance with clause 11.

CodeFlakes's own commitments. In any event, CodeFlakes undertakes to: (a) handle any access request from an authority in accordance with clause 3 — examine it, inform the Client where the law allows, and hand over only what is strictly required; and (b) notify the Client without undue delay if it can no longer comply with the measures in this clause or in Annex II, because of a change in how it operates, in the law that applies to it, or for any other reason. In that case the Client may suspend the processing or terminate without penalty.

Where it is determined that Standard Contractual Clauses apply, they will be incorporated as a signed annex, not by mere reference, expressly identifying: the applicable module, the exporting and importing parties, the law governing the clauses, the competent courts, the competent supervisory authority, the options chosen in each clause that offers alternatives, and their annexes duly completed. The order of precedence will be set out in that annex.

Instances hosted in the European Economic Area. The Instance of EEA Clients is hosted in Frankfurt (Germany), DigitalOcean's fra1 region. The flows that leave it for the United States are: (a) the remote support access in this clause; (b) the technical reports and aggregate counts in clause 3, to CodeFlakes' base instance in New York; (c) if the Client connects Gmail or Google Workspace, the OAuth authorisation and token renewal, which pass through the base instance without it keeping them, and the messages the Instance hands to Google for sending; and (d) if the Client connects Instagram — or WhatsApp Business, once it is available in the EEA — what is exchanged with Meta. In flows (a) and (b) and the transit of (c) through the base instance, the importer is CodeFlakes, which is not certified under the EU-U.S. Data Privacy Framework: the intended instrument is the Standard Contractual Clauses of Commission Implementing Decision (EU) 2021/914 — module 2 where the Client is a controller; module 3 where it is itself a processor for a third party — signed in accordance with the preceding paragraphs. What goes to Google and to Meta goes to the Client's own accounts, which are not subprocessors (clause 6); Google LLC and Meta Platforms, Inc. are listed as certified under the EU-U.S. Data Privacy Framework, and the safeguards are those of the Client's contract with each of them.

The general authorisation of subprocessors in clause 6 does not by itself cover onward transfers: each subprocessor established outside the EEA is documented in Annex IV.

CodeFlakes documents the supplementary measures it applies and provides the Client, on request, with the factual information needed for the transfer impact assessment. Assessing the obligations that fall to the Client as controller — including those in clause 2 — is for the Client itself.

10 Audit

CodeFlakes makes available to the Client the information needed to demonstrate compliance with the obligations of this agreement.

The Client may carry out audits, including inspections, itself or through an independent auditor who is not a competitor of CodeFlakes, with reasonable notice of thirty (30) days, during working hours, seeking not to interrupt the service, and at most once a year.

That frequency limit and that notice do not apply where there has been a personal data breach, where the Client has reasonable, substantiated grounds to suspect a breach of this agreement, or where a supervisory authority requires it. In those cases the notice will be whatever the circumstances allow. Minimising interference cannot prevent a necessary audit.

The auditor will be bound by confidentiality. The audit may not extend to the data of CodeFlakes's other clients.

11 Deletion or return at the end

Once the service ends, and at the Client's choice, CodeFlakes will return or delete all personal data processed on its behalf.

There are three periods, counted from termination:

  1. Recovery window — thirty (30) days. The Client may request an export of its data. The instance remains accessible for that purpose.
  2. Deletion from active systems — when that window ends. CodeFlakes deletes the instance, its database, the associated files, the automation engine's database and the execution logs containing the Client's personal data.
  3. Disappearance of backups — seven (7) days. Backups are taken daily and kept for one week, so seven days after the last backup the data has disappeared from them as well. Residual copies stay out of ordinary use, with access restricted to the people who operate the infrastructure and with no functional querying, until they disappear for good.

If for any reason a backup is restored, the deletions already carried out are reapplied before operation resumes.

CodeFlakes will certify this in writing if the Client asks.

A contrary instruction from the Client must state the purpose and period of retention; failing that, the periods above apply. Beyond that, only data whose retention is required by Union or Member State law applicable to CodeFlakes will be kept, for the period that law requires, with restricted access and under the security measures of this agreement.

Unsubscribing from commercial communications does not entail deletion of the data needed for other purposes. Of a data subject who has unsubscribed or been erased, only what is strictly necessary is kept to maintain the exclusion and to demonstrate compliance, with restricted access and for a defined period.

12 Term

This agreement enters into force on acceptance of the terms of service and remains in force for as long as CodeFlakes processes personal data on the Client's behalf. The confidentiality obligations and those in clause 11 survive its termination.

I Annex I · Description of the processing

Subject matterProvision of the PerfectFlow service: hosting and operating the Client's instance.
DurationThat of the subscription, plus the periods in clause 11.
Nature and purposeStoring, organising, consulting, modifying, disclosing and deleting data, and sending communications as instructed by the Client, so that the Client can run its operation. It includes deriving the aggregate operational counts in clause 3.
Categories of data subjectsThose resulting from the modules the Client turns on: people interested in its offering and business contacts; its customers or patients; participants in its services; and the system users the Client creates
Types of dataContact and identification data — first and last name, email address, telephone, country and city —; the fields the Client configures in its own data models; the record of consent with its date and channel; the data the Client chooses to ask for on its public booking, form or checkout pages — which may include an identity document number — and payment data where it turns on charging; and the history of the commercial relationship and of payments. For system users: identification, credentials and activity logs.

The specific detail is determined by each Client through the modules it turns on, the fields it configures and the accounts it connects. CodeFlakes neither decides nor supervises it
Special categoriesNone by design. Any the Client chooses to load are loaded under its sole responsibility (clause 2.4).
OperationsCollection, recording, structuring, storage, consultation, disclosure by transmission, erasure.
FrequencyContinuous, for the duration of the contract.
Contact for security notificationsThe contact address of the Client's account

II Annex II · Technical and organisational measures

Isolation

Isolation depends on the mode that corresponds to the Client's plan:

  • Dedicated mode: the Client has its own server and database, shared with no other client. It is the strongest isolation and comes with the plans that include it.
  • Shared mode (PerfectFlow Lite): several clients are hosted on one server and one database. Each client's data is kept separate within it, and the system automatically limits every query to the data of the client making it: one client can never see another's data. Each client signs in through its own subdomain, with caches and background jobs segmented in the same way.
  • Region. For clients in the European Economic Area, the whole architecture of the Instance — server, database, files and automation engine — is deployed in Frankfurt (Germany), DigitalOcean's fra1 region. For all others, in a United States region, the one that best fits their location among those available. The region is set on subscription and is not changed without written agreement. Data is not replicated to another region; the aggregate counts in clause 3 that travel to CodeFlakes' base instance (Annex IV) contain no data about data subjects.

Encryption

  • All traffic is encrypted over HTTPS/TLS, both access to the system and calls to third-party APIs.
  • Access tokens for connected accounts are stored encrypted in the database.
  • Encryption at rest. The Client's database, the automation engine's database and their backups reside in the hosting provider's managed database service, which encrypts them at rest. The Instance connects to it over the provider's private network and with TLS.
  • Files are kept in private object storage; external access is through signed URLs that expire.

Access control

  • Individual authentication per user. Credentials are not shared.
  • A system of granular roles and permissions, with conditions that restrict visible records by the user's office or location.
  • CodeFlakes's administrative access is limited to the people who operate the service, bound by a confidentiality commitment.
  • Support is provided on the server itself. No copies of the database, the files or the backups are downloaded or replicated to local machines.
  • Administrative connections. Server access is exclusively by SSH with a cryptographic key; password access is not allowed.
  • Two-factor authentication. The accounts CodeFlakes uses to administer the infrastructure — DigitalOcean, Cloudflare and GitHub — have multi-factor authentication turned on for all authorised people.
  • VPN. The connections CodeFlakes's people make to the server always go through an encrypted virtual private network (VPN) with an exit point in the United States. It is a measure that protects the channel: it does not change the place from which access is made or how that access is characterised, which is governed by clause 9.
  • Minimal access. CodeFlakes's people access the Instance only when it is strictly necessary to operate it, maintain it or support the Client. There is no routine access to personal data.
  • Automated deployment. Version updates, database migrations and initial configuration are run by an automated deployment system (GitHub Actions). That system connects to the server with a cryptographic key and runs the commands on the server itself: it does not extract or store copies of the database or the files, and its logs record the technical output of those commands. This connection does not go through the VPN.

Traceability

  • A log of creations, changes and deletions on the system's entities, with the user and the time.
  • Access logs at server level.

Availability and recovery

  • Daily backups of the database, kept for seven (7) days.
  • Security updates applied on the current version of the product.

Erasure

  • Soft deletion that keeps the record, so that operational mistakes can be reversed.
  • Erasure per data subject. From each record's page, the Client can irreversibly erase the data of a specific data subject — including associated files and related records — or anonymise it so that it can no longer be linked to a person. This is a different path from ordinary deletion, which is soft and reversible.
  • Portability and access. From the same page, the Client can export everything the system holds on a data subject, in a structured, machine-readable format.
  • Retention periods. They are decided and applied by the Client, as controller, using the tools above. CodeFlakes does not delete or purge data in the Instance on its own initiative while the service is active.
  • Backups rotate within a maximum of seven (7) days, after which erased data disappears from them as well.

III Annex III · Authorised subprocessors

Permanent

They are involved in every instance, whatever modules are in use.

SubprocessorServiceLocation
DigitalOcean, LLCServers, database and file storagethe applicable Region: Frankfurt (Germany) for EEA clients, a United States region otherwise (today, New York)
Cloudflare, Inc.
US company
DNS resolution of the domain to the server's address. No proxy: it does not sit in the traffic pathGlobal network
GitHub, Inc.
US company
Code repository and automated deployment system. It holds the server access key and runs the update commands on it. It hosts no Client dataUnited States

Providers contracted by the Client

The following run on the account the Client contracts and controls, and are not subprocessors of CodeFlakes under clause 6. They are listed for information, so that the map of where data travels is complete. Until the Client connects the account they process no data, and the Client can revoke access at any time. The Client decides which ones it connects and answers for them. The availability of each integration may vary by region.

Provider contracted by the ClientServiceActive whenLocation
Meta Platforms Ireland Ltd.
Instagram
Publishing the content the Client schedulesThe Client connects a professional Instagram accountIreland and United States
TikTok Technology Ltd.Publishing the videos the Client schedulesThe Client connects a TikTok accountIreland and United States
Stripe, Inc.Charging the Client's own customersThe Client connects its Stripe account — it is always its ownIreland and United States
PagueloFacilCharging the Client's own customersThe Client turns on this gateway and connects its accountPanama
Google
Gmail or Google Workspace — the Google entity the Client holds its account with
Sending the Instance's mail from the Client's address through the Gmail API. gmail.send permission, send-only: the mailbox is not read, stored or modified. Tokens encrypted in the InstanceThe Client connects its account in Settings › Email. It revokes it with «Desconectar» (Disconnect) or from its Google accountThe United States and other countries where Google operates
Other integrations
Scheduling, forms or other services — for example, Calendly
Those the Client connects through the automation engine, with its own accountsThe Client sets up the connectionDepends on the provider the Client contracts
Landing page analytics
Google Analytics or another
Measuring traffic to the Client's landing page, in a property it ownsThe Client creates the property and grants read access so that CodeFlakes can show the metrics in its dashboardDepends on the provider the Client contracts
The Client's email provider
Google Workspace or another provider
Delivering all mail that leaves the Instance: both communications to the Client's contacts — campaigns, sequences and notices — and account notices to its own users: password reset, user creation and invitationsThe Client connects its outgoing mail account. CodeFlakes provides no mail account of its own: until that account is connected, the Instance sends no mailDepends on the provider the Client contracts
About outgoing mail

CodeFlakes has no mail account from which to send on the Client's behalf, either for commercial communications or for account notices. All of the Instance's mail goes out through the account the Client connects, and CodeFlakes helps with that setup at no cost. The connection is outbound: it enables sending on the Client's behalf, not reading its mailbox, and the credentials are stored encrypted. With Gmail or Google Workspace only the send permission (gmail.send) and the connected address are requested; the use of information received from Google APIs is also governed by the Limited Use requirements described in the privacy policy. If the Client prefers not to connect it, that is fine: CodeFlakes then accesses no data from its mail at all.

About the automation engine

Automations run on software self-hosted by CodeFlakes on the same infrastructure as the Client's Instance. In dedicated mode, that engine and its database are exclusive to the Client. In shared mode (PerfectFlow Lite), the engine is shared between the clients on the same server, with each client's flows and connections kept separate from the others'. In no case is the vendor of that software a subprocessor, and it does not access the Client's data. Automations are processed in the same Region as the rest of the Instance. The messages those automations send do go out through the channels in the table above.

List current as of the date of this version. Additions and removals are governed by clause 6 and published at perfectflow.cloud/en/subprocessors, which shows the updated version and its date.

IV Annex IV · Map of flows and transfers

This annex documents the facts of each flow. The applicable safeguards are governed by clause 9. CodeFlakes updates it when a flow changes, and publishes it on this page.

FlowRecipient and entityCountry from/toPurpose and dataSafeguards
Hosting of the InstanceDigitalOcean, LLCThe Instance's RegionServers, database and files. All the data in the InstanceUnder clause 9
Remote support accessMembers of Code Flakes LLC
They are not external contractors or staff of another company: their access is that of the processor itself and is not sub-processing
Outside the EEA
The list of countries is provided to the Client on request
Resolving problems that block the service. Occasional access, potentially reaching all the data in the InstanceUnder clause 9. Measures: access only for problems that block the service, always through a VPN, and support on the server itself with no copies downloaded (Annex II)
DNS resolutionCloudflare, Inc.Global networkName-to-IP-address resolution only, no proxy. It does not sit in the traffic path or access its contentUnder clause 9, including the assessment of whether it constitutes processing
Automated deploymentGitHub, Inc.United StatesVersion updates, migrations and initial configuration. It connects to the server and runs commands on it; no copies are extracted. Potential technical access to the InstanceUnder clause 9
Technical reports and aggregate countsCode Flakes LLC, on its base instance (codeflakes.perfectflow.cloud), hosted by DigitalOcean, LLCFrom the Instance's Region to the United States (New York)Running, maintaining, supporting and improving the service. Version, server health, number of users and records, modules turned on, errors per screen, messages sent and failed, and initial setup. Aggregate counts only: no Instance content and no data about data subjectsUnder clause 3. The usage measurement totals that travel through this same channel are processed by CodeFlakes as controller and governed by the privacy policy
Gmail authorisation (only if the Client connects Gmail or Google Workspace)Code Flakes LLC, on its base instance, hosted by DigitalOcean, LLC; and GoogleFrom the Instance's Region to the United States (New York)Exchanging Google's authorisation code, handing the tokens to the Instance and renewing the access token when the Instance asks. Connected mailbox address and tokens, in transit: the base instance does not keep them. Does not include the content of the messages, which the Instance hands directly to GoogleUnder clause 9

The providers contracted directly by the Client — its outgoing mail, which carries both commercial communication and the Instance's system mail, its payment gateway, and its messaging and social media accounts — are not part of this map: their transfers are documented by the Client as controller, in its own relationship with each provider.

If the Client asks for an advertising measurement pixel or equivalent technology to be added to the landing page, that flow is listed in this annex for information, stating the recipient, the data transmitted and who is responsible. It is not a standard feature: it is installed on express request and with the configuration data the Client provides.

— Acceptance

This agreement is not signed. The Client accepts it on subscribing to a PerfectFlow plan: by ticking, at checkout, that it accepts the terms of service and the privacy policy, it also accepts this agreement, which forms part of them, in the version published on that date. Each version stays published under its date.

This agreement is the same for every client and no client-specific versions are issued. References to the contract are to be read as references to the terms of service and to the Client's subscription details: plan, mode, region and contact.