Who processes your data
Tarrafa is a social media post scheduler made by VisionX Inova Simples (I.S.), Brazilian company registration (CNPJ) 61.427.918/0001-06 (“VisionX”, “we”). This policy covers the Tarrafa website, dashboard, approval-by-link page and API (application programming interface).
For your account, usage and security data, VisionX is the controller: we decide how and why that data is processed (Brazilian General Data Protection Law, LGPD, art. 5, VI).
For the content you bring to publish, you are the controller and VisionX is the processor: we process that content only to do what you ask. Section 4 explains this.
What data we process
- Account
- Name, email and password. The password is stored only as a cryptographic digest (scrypt hash with a unique salt): no one at VisionX can read it. Today the dashboard does not ask for a phone number.
- Team and brands
- The team’s name, type and time zone, its brands, its members and each member’s role, invitations (with the invitee’s email) and, if you provide it, the team’s website.
- Content and media
- Captions, hashtags, photos, videos, times, internal notes and the history of each post. For JPEG photos, the dashboard removes the location (GPS) before upload, with that option on by default; other file data, such as the date and camera model, remains in the file.
- Connected networks
- The account identifier on each network, the @handle, the display name, the profile picture (we keep a copy) and the access keys (tokens) the network gives us, always encrypted.
- Post results
- The status and public link of each post on the network, to prove it went live. When the network provides them, also the post’s numbers: views, reach, likes, comments, shares and saves.
- Approval by link
- A person who approves without an account enters a name and may leave comments. We store the name, the decision, the comments, the date, the browser and a cryptographic digest of the IP address. The name is also kept on the approver’s device so they do not have to type it again.
- Access and security logs
- Date and time of each sign-in to the dashboard, IP address and browser, sign-in attempts and important actions in the team (who did what, and when).
- API keys
- We keep only a digest (SHA-256) and the beginning of each key, so you can recognize it in the list.
- Support
- What you write to us by email.
We do not ask for sensitive data, such as health, religion or biometrics. If your content contains such data, it follows the rules in section 4.
Why we use it and on what legal basis
| Purpose | Data | Legal basis (LGPD) |
|---|---|---|
| Create and keep your account, sign in, manage the team and invitations | Account, team and brands | Performance of a contract (art. 7, V) |
| Schedule, publish and verify posts on the networks you connected | Content, connected networks, post results | Performance of a contract (art. 7, V) |
| Send service emails: email confirmation, password recovery, invitations and notices about your posts | Name and email | Performance of a contract (art. 7, V) |
| Review new sign-ups, prevent abuse and fraud and protect accounts | Account and access logs | Legitimate interest (art. 7, IX) |
| Keep access logs | IP, date and time, browser | Legal obligation (art. 7, II; Brazilian Internet Civil Framework, art. 15) |
| Handle requests from data subjects and authorities and defend rights in legal proceedings | What each case requires | Legal obligation and regular exercise of rights (art. 7, II and VI) |
| Answer support requests | What you send us | Performance of a contract and legitimate interest (art. 7, V and IX) |
We do not sell personal data, we do not show ads and we do not use your content to train artificial intelligence. Today Tarrafa does not send your content to any artificial intelligence service: suggestions for times, captions and hashtags come from fixed rules and from the numbers of your own posts.
The content you bring
You decide what to publish, where and when. Therefore, for the content of your posts, the numbers of your profiles and the data of other people who appear in them (someone in a photo, someone tagged, your agency’s client), you are the controller and VisionX is the processor (LGPD, art. 39).
In practice: we store, display, prepare and publish that content only as you asked, on the networks you chose, and we use it for the numbers in your dashboard. We do not use it for any other purpose.
You are responsible for having a legal basis for third-party data in your content, including the consent of the people who appear in it and, for children and teenagers, the consent of a parent or guardian (LGPD, art. 14). The full rules are in the Processor agreement (in Portuguese).
Connected networks: what applies to all
Today Tarrafa connects to Instagram, Facebook, TikTok and Bluesky. The connection uses each network’s official login (OAuth): you sign in to the network, it shows the permissions requested and, if you accept, it gives us an access key. Tarrafa never sees your network password.
- We request only the permissions that Tarrafa’s features use. Each network’s list is in the following sections.
- Nothing is published without an action from you. Only the post you told us to publish or scheduled goes out, at the time you chose.
- Access keys are encrypted in the database and never appear on screen, in the API or in system logs.
- We do not sell, rent or pass on to third parties the data we receive from the networks, and we do not use it for advertising.
- What you publish is also governed by the privacy policy of the destination network.
To disconnect an account, remove Tarrafa’s authorization inside the network itself (each network’s path is in the following sections) or ask our data protection officer by email at visionxma@gmail.com: we disconnect it and delete that account’s keys.
When Tarrafa starts connecting another network, such as YouTube or LinkedIn, this policy will get a section for it before that connection becomes available.
TikTok
Tarrafa connects to TikTok through Login Kit and publishes through the Content Posting API, TikTok’s official developer tools. These are the permissions (scopes) we request:
| Scope | What we use it for |
|---|---|
user.info.basic | Identify the connected account: the account identifier (open_id), the display name and the profile picture, shown in the dashboard and on the posting screen. |
video.publish | Publish directly to your profile the video or photos you told us to publish, with the caption, privacy setting and interactions you chose, and check whether the post has finished processing. |
video.upload | Send the video or photos to your TikTok app inbox when you choose to finish the post in the app (for example, to add a trending sound). |
Before each post, we fetch the account’s current information from TikTok (display name, picture, allowed privacy options, whether comments, Duet and Stitch are enabled, and the maximum video length), as TikTok requires.
Nothing goes to TikTok without your tap. On the posting screen you see the destination account, choose the privacy setting from a list that starts empty, check the interactions you want to allow and state whether the content is commercial. Upload only starts after you tap Publish or Schedule, with TikTok’s Music Usage Confirmation in view. We store the date and text of that consent. Tarrafa does not add any watermark, logo or text of ours to your content.
How to remove Tarrafa’s access
In the TikTok app: Profile, menu (☰), Settings and privacy, Security and permissions, Apps and services permissions. Choose Tarrafa and remove it. The official step by step is in the TikTok Help Center.
When you remove access, TikTok notifies us. Right away the channel becomes revoked in the dashboard and that account’s access keys are deleted. Scheduled posts for that channel stop going out. Posts already on TikTok stay there: to delete them, use TikTok itself.
TikTok documents: Terms of Service and Privacy Policy.
Instagram and Facebook (Meta)
Tarrafa connects through Meta’s official platform, in two ways: through Instagram login, for professional accounts, or through Facebook login, for Pages and the Instagram accounts linked to them. These are the permissions we request in each case.
Through Instagram login
| Permission | What we use it for |
|---|---|
instagram_business_basic | Identify the professional account: identifier, @handle, name and picture. |
instagram_business_content_publish | Publish the photos, carousels, Reels and Stories you told us to publish. |
instagram_business_manage_insights | Read each post’s numbers: views, reach, likes, comments, shares and saves. |
Through Facebook login
| Permission | What we use it for |
|---|---|
pages_show_list | List the Pages you manage, so you can choose which ones to connect. |
pages_read_engagement | Read the Page’s basic information and the engagement on its posts. |
pages_manage_posts | Publish on the Page the posts you told us to publish. |
read_insights | Read the numbers of the Page’s posts. |
instagram_basic | Identify the Instagram account linked to the Page. |
instagram_content_publish | Publish to that Instagram account. |
instagram_manage_insights | Read the numbers of that Instagram account’s posts. |
We follow Meta’s Platform Terms: data received from Meta is not sold, licensed or used for advertising, and access keys are protected and never shared.
How to remove access and request data deletion
- On Instagram: follow the steps in the Instagram Help Center to remove Tarrafa from your connected apps and websites.
- On Facebook: Settings and privacy, Settings, Business integrations (see the Facebook Help Center).
Removing access on the network cuts our connection immediately. For us to also delete what is already stored (the access keys, the connected profile and that account’s numbers), email visionxma@gmail.com with the subject “Delete Meta data”, stating the @handle or the Page. We complete the deletion within 15 days and confirm by email.
Meta documents: Instagram Terms of Use, Facebook Terms of Service and Meta Privacy Policy.
Bluesky
Tarrafa connects through Bluesky’s official login (AT Protocol OAuth). We request the atproto permission with the transitional general access (transition:generic), which is what Bluesky currently offers for posting on behalf of an account. This permission is broad; we use it only to identify the account, publish the posts you told us to publish and read the likes, replies, reposts and quotes on your posts.
Everything published on Bluesky is public, by the protocol’s own design.
How to remove access: in your account management area at your Bluesky provider (for most people, bsky.social), under “Connected apps”, use “Revoke access” next to Tarrafa. Bluesky notes that revocation may take up to 15 minutes to take effect.
Bluesky documents: Terms of Service and Privacy Policy.
Who we share data with
- With the networks you connected: the content and the data needed to publish, only when you tell us to. Each network processes that data under its own policy.
- With subprocessors: companies that help us operate (database, hosting, email and internal notices), under contract and only for that. The list, with what each one does and where, is on the Subprocessors page (in Portuguese).
- With the VisionX team, when needed: when you create an account and confirm your email, the team receives your name, your email and the team name in an internal WhatsApp group and by email, to review the sign-up. To help you, support can open your team’s dashboard; that access is logged.
- With authorities: when the law or a court order requires it.
- In a sale, merger or reorganization of VisionX: with whoever takes over the service, who remains bound by this policy.
We do not sell personal data.
International transfers
The database and media files are stored in Brazil, in São Paulo (Supabase). The application also runs in São Paulo, on Vercel.
Some data leaves Brazil:
- what you publish, sent to the networks, which process data on their own servers outside the country;
- service emails, sent through Brevo, in the European Union;
- the team’s internal notices, which go through WhatsApp;
- technical access logs that Vercel, a United States company, may process outside Brazil.
Sending content to the networks is necessary to perform the service you signed up for (LGPD, art. 33, IX). With subprocessors that process data outside Brazil, the transfer relies on the mechanisms of LGPD art. 33, such as the standard contractual clauses approved by Brazil’s data protection authority, ANPD (Resolution CD/ANPD No. 19/2024).
Cookies and browser storage
We use only what the dashboard needs to work. There are no advertising, audience measurement or third-party cookies, and the site’s fonts are served by the site itself.
| Name | What it does | Duration |
|---|---|---|
tarrafa_sessao | Keeps you signed in to the dashboard. It holds a random code, and the database keeps only its digest. Page scripts cannot read it (httpOnly). | 30 days, or until you sign out |
tarrafa_time | Remembers which team you chose in the dashboard. Page scripts cannot read it (httpOnly). | Until you close the browser |
tarrafa_aprovacao | Shows once, only on that post’s screen, the approval link you just created. | 5 minutes |
tarrafa_tema (local storage) | Remembers whether you prefer the light theme, the dark theme or the device’s theme. | Until you clear the browser |
tarrafa-aprovacao-nome (local storage) | Remembers, on the approver’s device, the name of the person approving by link. | Until the browser is cleared |
Because these items are necessary for the service, they do not depend on consent. You can delete them in your browser; after that, the dashboard asks you to sign in again.
How long we keep data
| Data | Period |
|---|---|
| Account, team and brands | While the account exists. |
| Content, media and post history | While the account exists, or until you delete it. A media file can be deleted when it is not in any post. |
| Network access keys | While the channel is connected. If you remove access on TikTok, they are deleted immediately. |
| Access logs (IP, date and time, browser) | At least 6 months, kept confidential, as required by the Brazilian Internet Civil Framework (art. 15). They are kept even if the account is deleted. |
| Approval-by-link records | While the post exists. |
| Support emails | As long as needed to resolve the request and to defend rights. |
Today Tarrafa does not delete data automatically by time period: data stays until you delete it, until a deletion request or until the account ends. When automatic time-based cleanup exists, this table will show the maximum periods and the effective date will change.
When you ask us to delete your account, we delete the team, brands, posts, media and access keys, and we remove Tarrafa’s authorization on TikTok. Only the access logs remain, for the period the law requires, plus what is needed to defend rights (LGPD, art. 16). Posts already published stay on the networks: delete them through the network itself.
Your rights and how to exercise them
Under the LGPD (art. 18), you may request:
- confirmation that we process your data, and access to it;
- correction of incomplete, inaccurate or outdated data;
- anonymization, blocking or deletion of unnecessary or excessive data, or data processed unlawfully;
- portability of your data to another provider;
- deletion of data processed based on your consent, and withdrawal of that consent;
- information about whom we share your data with;
- review, by a person, of a decision made solely by automated means that affects you (art. 20);
- objection to processing that does not comply with the law.
How to make a request
Email our data protection officer at visionxma@gmail.com, preferably from your account’s email, saying what you want. If we need to confirm it is you, we will ask. We reply within 15 days. You can correct your name yourself in the dashboard, under Settings.
If the request is about content from a Tarrafa customer (for example, you appear in a post by a brand that uses Tarrafa), that customer decides: we forward the request to them and help as appropriate.
You may also file a complaint with Brazil’s National Data Protection Authority, the ANPD.
Security
- Network access keys and other secrets encrypted with AES-256-GCM. The encryption key is kept outside the database.
- Passwords stored only as scrypt hashes, with a unique salt per password.
- Connections always encrypted (HTTPS).
- Limits on sign-in attempts per IP address and per account.
- Each team reaches only its own data, and the database closes row-level access (RLS) to anything other than the application.
- Internal access only for those who need it, with a log of who accessed and what they did.
No system is 100% secure. If a security incident may bring you relevant risk or harm, we notify you and the ANPD within 3 business days, as required by Resolution CD/ANPD No. 15/2024.
Children and teenagers
Tarrafa is for people 18 or older. If you learn of an account belonging to a minor, tell our data protection officer and we will close it.
Content involving children or teenagers brought by a customer is that customer’s responsibility, who must have the consent of a parent or guardian (LGPD, art. 14) and follow each network’s rules.
Data protection officer
- Data protection officer (LGPD, art. 41)
- Victor Gabryell Ferreira Queiroz
- visionxma@gmail.com
- Controller
- VisionX Inova Simples (I.S.), CNPJ 61.427.918/0001-06
The data protection officer receives complaints and requests from data subjects and communications from the ANPD.
Changes to this policy
When this policy changes, the effective date at the top changes with it. Relevant changes (a new purpose, a new type of data, a new network or a new subprocessor outside Brazil) are announced by email to each team owner before they take effect.
This is a translation of the Portuguese version. If the two differ, the Portuguese version prevails.