Pikiner receives only the data and the access required to perform the
agreed work, only for a defined purpose, and only for the period
required.
Access to a project does not give Pikiner the right to use the data, the
code, or the confidential materials of the client for other projects.
Who owns the data
The product data belongs to the client, or is under their control, in
accordance with the relationship between the client and their users and
with the applicable law.
Pikiner acquires no ownership of:
- production data;
- user data;
- client documents;
- the contents of the database;
- files uploaded by users;
- product analytics;
- confidential information;
- the accounts of the client;
- secrets and access keys.
The roles of the parties in processing personal data, the permitted
purposes of processing, and the contractual documents required are
determined before the relevant access is granted.
If the nature of the project requires a DPA or another data processing
document, it is signed before such processing begins.
Which data is used during development
Wherever possible, development and testing use:
- synthetic data;
- anonymized sets;
- minimal samples;
- a separate test environment;
- test accounts;
-
examples prepared specifically, without personal data.
Production data is used only when the agreed task cannot be performed, or
the migration cannot be verified, without it.
Before production data is provided, the parties determine:
- why it is required;
- which tables, fields, or objects are needed;
- whether the volume can be reduced;
- whether anonymization is required;
- where the data will be held;
- who will have access;
- how long it will be stored;
- how its deletion or return will be confirmed.
Access to production data is not treated as automatically included in
every migration project.
Migrating production data
If a data migration is part of the SOW, the parties record in advance:
- the sources;
- the composition and the volume;
- the mapping between the old and the new schema;
- the transformation rules;
- the cleanup;
- the handling of erroneous and incomplete records;
- a trial migration;
- the verification of counts and completeness;
- the verification of critical relationships;
- acceptable downtime;
- the moment writes to the old system stop;
- the cutover procedure;
- the participants responsible;
- the criteria for successful completion;
- the conditions for rollback;
- the rules for retaining temporary copies.
If the migration of production data is not stated in the SOW, it is not
part of the standard migration result.
Where the accounts and the infrastructure are held
Wherever possible, production resources are registered directly to the
client.
This applies to:
- cloud accounts;
- domains;
- DNS;
- certificates;
- databases;
- file storage;
- payment systems;
- mail services;
- data providers;
- monitoring systems;
- external APIs;
- other production services.
Pikiner receives separate accounts or temporary roles with the minimum
rights required.
The main owner password for an account should not be given to Pikiner
where the provider allows a separate user or role to be created.
Secrets
Secrets include, in particular:
- passwords;
- API keys;
- tokens;
- private keys;
- encryption keys;
- database credentials;
- signing secrets;
- recovery codes;
- access to cloud infrastructure.
Secrets must not be transmitted:
- through the first contact form;
- in the plain text of a public issue;
- inside the source code;
- in the project documentation;
- in configuration examples;
- in the Git history;
- in a recording of a product demonstration.
An agreed secure channel is used to transmit secrets.
The project documentation describes the names and the purpose of
environment variables, but does not contain live production values.
If a secret has been disclosed through an unsuitable channel, it has to
be replaced, not merely deleted from the message.
Use of external AI models
Gabion can be used with different AI models, external and local. The
technical ability to connect a model does not mean automatic permission
to send it the materials of the client.
Before an external model is used, the parties determine:
- which providers are permitted;
- which types of data may be sent;
- whether the project source code may be sent;
- whether logs may be sent;
- whether the data schema may be sent;
- whether user data may be sent;
-
whether the provider uses submitted material for training;
- which retention settings are available;
- whether a local model is required;
- which costs belong to third-party services.
The data, the source code, and the confidential materials of the client
must not be used to create general Pikiner modules or to work on other
projects.
If a reusable module is derived from a project, it is first separated
from:
- the data of the client;
- the names of the client and the product;
- the unique business logic;
- the secrets;
- the internal identifiers;
- the confidential rules;
- fragments of the client's old code.
Access for employees and contractors of Pikiner
Access is granted only to the participants who require it to perform the
project.
Before the work begins, the parties determine:
- which categories of participant receive access;
- to which systems;
- with which rights;
- for which period;
- whether contractors may take part;
-
which confidentiality obligations apply to them;
- which access logs are available;
- who is responsible for revoking rights.
A participant who has stopped working on the project must not retain
access to the systems of the client.
Recordings of meetings and demonstrations
The demonstration of the product of the client and the Gabion Live
Showcase are different meetings.
Before any meeting is recorded, the parties agree separately:
- whether a recording will be made;
- who will receive it;
- where it will be stored;
- for which purpose it is used;
- when it will be deleted.
The absence of an objection must not be treated automatically as consent
to a recording.
While demonstrating the product, the client should not show production
secrets or personal data that are not needed to understand the journey.
Revoking access after handover
Before the project is completed, the parties compile a list of the access
granted to Pikiner.
It covers:
- repositories;
- cloud roles;
- databases;
- test and production environments;
- CI/CD;
- external APIs;
- monitoring systems;
- document storage;
- communication systems;
- temporary accounts;
- the keys and tokens issued.
Once the agreed work is complete:
- the temporary access of Pikiner is revoked;
- temporary keys and tokens are rotated where necessary;
-
accounts created only for the project are deactivated;
-
temporary copies of data are returned or deleted by the agreed
procedure;
-
the client takes control of the production resources required;
-
the handover and the revocation of access are recorded in the closing
documents.
Access for Pikiner continues after handover only where a separate
obligation is in force that genuinely requires it.
What a Gabion token does not do
A Gabion token controls access to the development tool.
It must not:
- give Pikiner access to production data;
-
give Pikiner administrative control over the application;
- switch the production system on or off;
- block users;
- revoke the code of the client;
- change ownership;
- prevent the project from building without Gabion.
The access of Pikiner has to be limited and revocable. The access of the
client to their own project and data has to be permanent and independent
of Gabion.
Models, Data, and Cost Control in Gabion