Privacy Policy
Effective date: 1 May 2025 · Last updated: 5 November 2026
1. Who We Are
Wiro (“Wiro”, “we”, “our”, or “us”) is a software-as-a-service platform designed for creative and communications agencies operating in the Gulf region. Our platform helps agencies manage clients, campaigns, PR coverage, finances, scheduling, communications, and social media.
Wiro is operated by NASIR ART PRODUCTION CO. L.L.C, a limited liability company registered in Dubai, United Arab Emirates (licence no. 1209588), which is responsible for your data under this policy.
For any privacy-related questions, contact us at admin@wiro.ae.
2. What Data We Collect
We collect data in the following categories:
Account & Agency Data
- Your name, email address, and profile information
- Your agency name, logo, and configuration settings
- Team member profiles and role assignments
Client & Business Data
- Client contact details, contracts, and billing information
- Campaign and project data you enter into the platform
- PR coverage items, media contacts, and coverage reports
- Invoices, expenses, and financial records
Google Account Data (when you connect Google)
- Your primary Google Account email address
- Google Calendar list and event data (titles, times, locations, attendees, Meet links)
- Google OAuth access token, refresh token, and expiry information
Scheduling Data (Calendly and Cal.com)
- Your connected scheduling account email and profile information
- Event types and booking page URLs
- Booking details including attendee name, email, meeting time, and duration
- OAuth access and refresh tokens for each connected scheduling provider
Messaging Data (Slack, Telegram, WhatsApp, SMS, X)
- Slack: workspace name, channel names, message history from connected channels and DMs
- Telegram: bot token, bot ID, and bot username. No user message content is stored server-side
- WhatsApp Business: WhatsApp Business Account ID, phone number ID, and message logs from your business number
- SMS through Twilio: your Twilio account ID and auth token (stored encrypted), your sending number or messaging service, and the text messages and photos sent to and from that number
- X direct messages: the X account you connect, and the direct messages sent to and from it, with any photos
Social Media & Content Data (Meta, TikTok, YouTube, Threads, Snapchat, LinkedIn, X)
- Meta (Facebook and Instagram): connected Facebook Page IDs and names, linked Instagram Business Account IDs, page access tokens, published and scheduled post data, and account insights
- TikTok: OpenID, handle, and avatar for connected TikTok accounts used for content publishing
- YouTube: channel identifier for connected YouTube accounts
- Threads: account identifier for connected Threads accounts
- Snapchat: Public Profile identifier and display name for connected Snapchat accounts
- LinkedIn: identifiers and names of the LinkedIn profile and Company Pages you connect, your role on each Page, and aggregate statistics for Company Page posts published through Wiro
- X: account identifier, name, username, and profile image for connected X accounts
Advertising Data (Meta Ads, TikTok Ads, Google Ads, Snapchat Ads, LinkedIn Ads, X Ads, Pinterest Ads, ChatGPT Ads)
- Connected ad account IDs and names, and the Facebook Pages an ad account can advertise as
- Campaign, ad set, and ad performance metrics fetched on your behalf
- OAuth access tokens for each ad platform connection, and for ChatGPT Ads the API key you create in OpenAI's Ads Manager, stored encrypted
- The ads you create in Wiro: the campaign name, goal, budget and dates, the audience you choose (countries, languages, age range, gender, interests), the ad's text, headlines, descriptions, keywords and negative keywords, button and link, and the picture or video you upload, for each version of the ad, which is sent to the ad platform to make the ad. A video for a TikTok ad is stored in your workspace's media storage so TikTok can fetch it
- A record of the changes made to ads from Wiro: which team member paused, resumed, changed the budget of, or created which campaign, ad set, or ad, when, and the value before and after
Cloud Storage Data (Dropbox, OneDrive)
- OAuth access and refresh tokens for your connected storage account, stored encrypted
- File and folder names, sizes and dates, shown while you choose what to import
- The contents of the files and folders you choose to import, which are copied into your workspace's Drive
Video Calls (Wiro Meet)
- Your name as you give it, and when you joined and left a call. Calls pass through Wiro's call server and are not stored unless a host turns on recording or transcription
- When a host turns on recording: the call's video and audio, stored privately until the agency deletes it
- When a host turns on transcription: the words spoken by each person whose microphone is on, written down under their name and stored until the agency deletes them
- Everyone on the call sees a label while recording or transcription is on, and anyone about to join is told first
Drive, Shared Files and Client Portals
- The files you and your team upload or import, their older versions, small preview images made in your browser, pictures of design files (such as Photoshop, Illustrator and PDF) and, for videos in camera formats, a lower-resolution copy, both made on our servers
- The text inside documents you store, read on our servers so you can search inside your files. Files in private folders are never read. Preview images and this text are stored encrypted, and the search index keeps only an unordered list of words
- For File Transfer: the files you send and a small preview image of each picture or video, made in your browser and stored encrypted
- Comments, approvals and change requests on files, and a history of what happened to each file and folder (uploads, renames, moves, shares, comments, approvals, and opens and downloads through a share)
- For people outside your workspace who open a shared link, a client portal or a file request: the name they give, their comments and decisions, and the files they send. Their IP address is used briefly to limit password attempts and uploads and is not stored. So that one person opening a link several times counts once, Wiro keeps a short one-way code made from their IP address and browser, which can't be turned back into either
Billing Data
- Your plan, billing interval, seats, storage packs, payment status and renewal date
- Your Stripe customer and subscription identifiers. Card details are entered on Stripe's own pages and held by Stripe; Wiro never sees or stores them
Influencer Research Data
- Public profile data fetched from Instagram and TikTok via the Apify service
- This data is publicly available and is not scraped from private accounts
Usage Data
- Log data, IP addresses, browser type, and access timestamps
- Feature usage patterns to improve the platform
Signed-in Devices
- For each sign-in: the browser and device type, when it started and when it was last used, so you can see and end your sign-ins in Settings
- A random identifier your browser keeps for Wiro, stored by us only in hashed form, so a new device can be recognised and asked for an emailed code
- So that several browsers on one computer count as one device, not several: the kind of system you use, your screen size and your network, each kept only as a one-way code that can show two browsers match but can't be turned back into your address or screen. Wiro never stores the address itself
- Counts of how many devices a login used over the last 30 days, shown to your workspace's admins when a login looks shared by several people. Admins see the counts only, never the devices or where they were
- The approximate place each sign-in comes from (country, region and city), worked out from the IP address on Wiro's own servers using DB-IP's free IP geolocation database. Your IP address is not sent to anyone for this and is not stored with it. Only the Wiro team sees these locations, to keep accounts secure and spot misuse; your workspace's admins don't
Two-step Verification and Passkeys
- If you turn on two-step verification, the secret your authenticator app uses is held by our authentication provider, Supabase. Wiro keeps only scrambled (hashed) copies of your recovery codes, never the codes themselves
- If you add a passkey, Wiro keeps its public key, its name, and when it was added and last used. The private key never leaves your device or password manager, and your face, fingerprint or PIN is checked by your device and never sent to Wiro
- Your workspace's admins can see whether you have two-step verification on and how many passkeys you have, can reset two-step verification for you, and can require everyone to use it
- If an admin or manager locks pages of your workspace with a PIN, Wiro keeps a scrambled (hashed) copy of each page's PIN, never the PIN itself, and counts wrong tries. Which pages you have unlocked, and for how long, is kept in your browser only
3. How We Use Your Data
We use your data solely to provide and improve Wiro:
- Delivering the features of the platform you have signed up for
- Authenticating your identity and protecting your account
- Sending transactional emails (account activity, invoices, reminders)
- Syncing data from connected third-party services on your behalf and at your direction
- Displaying your scheduling events, messages, social media content, and files in the Wiro interface
- Improving platform reliability, performance, and new features
- Complying with applicable laws and responding to lawful requests
We do not sell, rent, or share your data with third parties for advertising or marketing purposes. We do not use your data, including any data received from third-party integrations, to train AI or machine-learning models.
4. Third-Party Services and Integrations
Wiro integrates with the following services. All integrations are optional. You connect each service yourself and can disconnect at any time from Settings.
Infrastructure
- Supabase: database, file storage, and authentication (hosted in Mumbai, India)
- Cloudflare R2: storage for Drive files and file transfers
- Hostinger: the servers that run Wiro, including the service that copies imported files and makes video previews (located in Mumbai, India)
- Stripe: payments, invoices and the billing portal
- Deepgram: turns speech into text, only on calls where a host has turned on transcription. We ask Deepgram not to use this audio to improve its models
- Google APIs: Calendar (calendar.readonly, calendar.events) and Meet (via Calendar conferenceData)
- Google Ads API: read and manage connected Google Ads accounts (adwords scope)
Scheduling
- Calendly: read your event types and sync booked meetings into the Wiro Calendar
- Cal.com: read your event types and sync booked meetings; create and manage bookings and webhooks on your behalf
Messaging
- Slack: read messages from connected channels and DMs, send messages on your behalf
- Telegram: receive and relay messages via your connected Telegram bot
- WhatsApp Business Cloud API (Meta): send and receive messages via your WhatsApp Business number
- Twilio: send and receive text messages through the Twilio number you connect
- X API: read and send direct messages for the X account you connect
Social Media & Content
- Meta (Facebook & Instagram): read and publish posts to connected Facebook Pages and Instagram Business accounts; read account insights
- TikTok: read connected account profile; draft and publish video content
- YouTube: read connected channel identifier
- Threads: read connected account identifier
- Snapchat: read connected Public Profile identifier; post videos you create in Wiro
- LinkedIn: identify the connected member and the Company Pages they manage; publish posts you create in Wiro; read aggregate statistics for Company Page posts published through Wiro
- X: read connected account identifier; publish posts and upload the media you create in Wiro
Advertising
- Meta Ads (Facebook Ads Manager): read ad account, campaign, ad set, and ad performance data; when a team member uses these features, pause and resume campaigns, ad sets, and ads, change their budgets, and create new campaigns, ad sets, creatives, and ads (always created paused)
- Google Ads: read ad account and campaign performance data; when a team member uses the Ad builder, create a Search, Display or YouTube (Demand Gen) campaign with its budget, ad group, ads, keywords or pictures, the YouTube video it refers to, countries and languages (always created paused)
- TikTok for Business: read ad account and campaign performance data; when a team member uses the Ad builder, upload the ad's video or pictures, apply a Spark Ads code a post's owner has shared, create a custom identity (the name the ad shows as) if asked, and create a campaign, ad group and ads (always created switched off)
- Snapchat Ads: read ad account and campaign performance data; when a team member uses these features, pause and resume campaigns and change their budgets, and create a campaign, ad squad, creative and ad (always created paused)
- LinkedIn Ads (LinkedIn Marketing API, scopes r_ads, rw_ads and r_ads_reporting): read ad account and campaign performance data; when a team member uses the Ad builder, upload the ad's pictures, video or PDF to the Company Page the ad account belongs to and create a campaign group, campaign and ads, including text, Spotlight and follower ads (always created paused)
- X Ads (X Ads API): read ad account and campaign performance data; when a team member uses the Ad builder, upload the ad's pictures or video to the ad account's media library and create a campaign, ad group, targeting (including keywords), website or carousel card and promoted-only posts, promote posts the account already made, or promote the account itself for followers (always created paused)
- Pinterest Ads (Pinterest API v5, scopes ads:read, ads:write, boards:read, boards:write, pins:read, pins:write and user_accounts:read): read ad account and campaign performance data; when a team member uses the Ad builder, make the ad's Pins (on a board they choose, or a new protected board that keeps them off the profile), upload a video, and create a campaign, ad group and ads, or promote the account's existing Pins (always created paused)
- ChatGPT Ads (OpenAI Ads API): read ad account and campaign performance data with the API key you provide; when a team member uses the Ad builder, upload the ad's pictures and create a campaign, ad group and chat-card ads (the campaign is always created paused)
Cloud Storage
- Dropbox: read-only access to list your files and copy the ones you choose into Drive
- Microsoft OneDrive and SharePoint: read-only access (Files.Read.All) to list your files and copy the ones you choose into Drive
Data & Research
- Apify: fetch publicly available influencer profile data from Instagram and TikTok
Each of these services has its own privacy policy. We configure integrations with least-privilege access wherever possible and store credentials encrypted.
5. Google API Services and Google User Data
Wiro’s use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements.
Google OAuth Scopes Requested
When you connect your Google account, Wiro requests only the following three OAuth scopes. Connecting Google is entirely optional. Wiro does not request any restricted Google scope.
- userinfo.email: used to identify which Google account you connected.
- calendar.readonly: used to list your calendars and display existing Google Calendar events in Wiro's Calendar.
- calendar.events: used when you create, edit, or delete Google Calendar events through Wiro. Google Meet links are generated through the Calendar API's conferenceData feature; no separate Meet permission is required.
Wiro does not request Gmail access, Drive access, or the full calendar scope. Wiro cannot read, send, or otherwise access your Gmail, and cannot access any file in your Google Drive.
Google Calendar. Limitations
Calendar access is used only to power the Wiro Calendar. Wiro does not use Google data for:
- Advertising or building advertising profiles
- Selling or sharing data with third parties
- Sending unsolicited bulk or marketing email
- Training general-purpose AI or machine-learning models
Wiro has no access to Gmail or Google Drive. It cannot read, compose, or send email from your Gmail account, and it cannot list, open, or download any file in your Google Drive.
AI and Model Training
Google Calendar data is not used to train Wiro’s or any third party’s AI or machine-learning models. Google user data is not transferred to AI providers for model training.
Data Stored
- Google account email address
- Google OAuth access token, refresh token, and token expiry
- Google Calendar event data synced to the Calendar (title, time, location, attendees, Meet link)
- Limited Calendar metadata cached in your browser's localStorage for performance
Wiro does not access Google Drive or Gmail at all.
Disconnecting Google
When you disconnect Google from Settings, Wiro will:
- Revoke your Google OAuth authorisation via Google's token revocation endpoint
- Delete your stored access and refresh tokens from Wiro's database
- Clear your Calendar browser caches from localStorage
- Stop all future access to Google services
Google Calendar events previously synced into Wiro’s Calendar remain in the database after disconnect. They are no longer refreshed. Email admin@wiro.ae to request deletion. You can also revoke access independently at myaccount.google.com/permissions.
User Control
- Connecting Google is optional
- You can disconnect Google at any time from Settings
- You can revoke access through your Google Account security settings
- You can request deletion of stored Google data by emailing admin@wiro.ae
6. Calendar Integrations (Calendly and Cal.com)
Wiro’s Calendar can display events from your Calendly and Cal.com booking accounts alongside Google Calendar events, Wiro-native events, and Google Meet links. Each connection is optional and separate.
Calendly
When you connect Calendly, Wiro requests OAuth access to:
- Read your Calendly user profile and email address
- Read your event types (booking page URLs and configurations)
- Sync booked meetings into the Wiro Calendar via webhooks
Wiro stores your Calendly access token, refresh token, user ID, and synced event data in its database. Wiro does not create, modify, or cancel Calendly bookings on your behalf. You can disconnect Calendly from Settings at any time, which deletes stored tokens and stops future syncing.
Cal.com
When you connect Cal.com, Wiro requests OAuth access to:
- Read your Cal.com profile
- Read your event types
- Read existing bookings and sync them to the Calendar
- Create and manage webhooks so new bookings appear in Wiro automatically
Wiro stores your Cal.com access token, refresh token, and synced booking data. Webhooks are registered on your Cal.com account to receive real-time booking notifications. You can disconnect Cal.com from Settings, which deletes stored tokens and removes the registered webhook from Cal.com.
Data Retention After Disconnect
Booking events previously synced from Calendly or Cal.com remain in Wiro’s Calendar database after disconnect. They are no longer refreshed or updated. Email admin@wiro.ae to request deletion of synced booking data.
7. Messaging Integrations (Slack, Telegram, WhatsApp, SMS, X)
Wiro’s unified inbox can aggregate messages from Slack, Telegram, WhatsApp Business, SMS (through Twilio) and X direct messages. Each connection is optional, separate, and can be disconnected at any time from Settings.
Slack
When you connect Slack, Wiro requests OAuth access with the following scopes:
- channels:read and channels:history, to list and read messages from public channels you select
- im:read and im:history, to read direct messages in your Slack workspace
- chat:write, to send messages on your behalf from within Wiro
- users:read, to resolve user display names in conversations
Wiro stores your Slack access token, workspace (Team) ID, and bot ID. Message content is fetched when you view a conversation and is not permanently stored in Wiro’s database.
Telegram
Wiro connects to Telegram via a Bot Token you create through Telegram’s BotFather and enter manually in Settings. Wiro does not use OAuth for Telegram. Wiro stores your bot token, bot ID, and bot username. Wiro registers a webhook with Telegram so incoming messages to your bot are relayed to the Wiro inbox. Wiro does not store Telegram message history server-side beyond active session delivery.
WhatsApp Business
Wiro connects to WhatsApp via the Meta WhatsApp Business Cloud API. When you connect a WhatsApp Business number, Wiro stores your WhatsApp Business Account (WABA) ID, phone number ID, and access token. Wiro can send and receive messages on behalf of your WhatsApp Business number and logs message content in its database to support your inbox history. Wiro does not use WhatsApp message data for advertising or for any purpose other than operating your connected inbox.
Disconnect
Disconnecting a messaging integration from Settings will delete stored tokens and account identifiers and stop future message processing. Message history already displayed in Wiro may be retained until you request account deletion.
SMS (Twilio)
When you connect a Twilio number, Wiro stores your Twilio account ID and auth token encrypted, and points the number’s incoming messages at Wiro. Texts and photos sent to and from that number are stored in your workspace so your team can reply from the inbox. Twilio, Inc. processes these messages under its own terms and privacy policy. Disconnecting stops new messages; messages already received stay in your inbox until you delete them.
X direct messages
When you connect an X account to the inbox, Wiro asks X for permission to read and send that account’s direct messages (dm.read and dm.write) alongside the posting permissions the Scheduler already uses. Direct messages sent to and from that account, with any photos, are stored in your workspace so your team can reply from the inbox. Wiro receives new messages from X as they arrive, or checks for them every few minutes. Disconnecting stops new messages.
8. Social Media and Content Integrations
Wiro’s Scheduler supports content scheduling and publishing to social platforms. All connections are optional.
Meta (Facebook Pages and Instagram)
When you connect Meta, Wiro requests the following permissions:
- pages_show_list: to list your manageable Facebook Pages
- pages_read_engagement and pages_manage_metadata. To read page details and insights
- pages_manage_posts: to publish and schedule posts to connected Facebook Pages on your behalf
- instagram_basic and instagram_content_publish. To read your linked Instagram Business accounts and publish content
Wiro stores long-lived Page Access Tokens and Instagram Business Account IDs. Post content you schedule or publish through Wiro is sent to Meta on your behalf. Wiro does not access your personal Facebook profile, private messages, or data beyond the pages and accounts you explicitly connect.
TikTok
When you connect TikTok for content, Wiro requests access to read your account profile (OpenID, handle, avatar) and to draft and publish video content on your behalf. Wiro stores your TikTok access token and account identifier. Wiro only publishes content you explicitly create and submit through the platform.
YouTube
Wiro connects to YouTube using the youtube.readonly scope to identify your connected channel, and youtube.upload to publish videos you create in Wiro. Wiro uploads only the video, title, description, tags, and visibility you set on a post, and reads back the resulting video’s status to confirm it published. No watch history, analytics, or other channel content is accessed, and Wiro cannot edit or delete videos once uploaded.
Threads
Wiro connects to Threads using the threads_basic scope to identify your connected Threads account, and threads_content_publish to post the text and media you create in Wiro. Wiro publishes only content you explicitly create and schedule through the platform, and stores the resulting post identifier and link. Your Threads feed, followers, and engagement data are not accessed.
Snapchat
Wiro connects to Snapchat’s Public Profile API using the snapchat-profile-api scope, which is separate from the Snapchat Ads connection. Wiro uses it to identify your connected Public Profile and to post the videos you create in Wiro to that profile’s Story, Saved Stories, or Spotlight. Media is encrypted before upload as Snapchat requires. Wiro stores the access token, the profile identifier and name, and the resulting post identifier. Your Snapchat friends, chats, and Snaps are not accessed.
Wiro connects to LinkedIn through LinkedIn’s Community Management API. It requests r_basicprofile to identify the member who connects; w_member_social and w_organization_social to publish the posts you create in Wiro to that member’s profile or to Company Pages they manage; and r_organization_social and rw_organization_admin to confirm which Pages the member administers and to read aggregate statistics for Company Page posts published through Wiro (impressions, clicks, reactions, comments, reposts, and the Page’s follower count). Wiro stores the access token, the profile and Page identifiers and names, and the resulting post identifier and link. Wiro does not read your LinkedIn feed, connections, or messages, and does not collect information about the individual members who view or engage with your posts. Statistics are not available for posts on personal profiles, and Wiro does not attempt to collect them.
X
Wiro connects to X using OAuth 2.0 with the users.read and tweet.read scopes to identify your connected account, tweet.write and media.write to publish the posts, images, and videos you create in Wiro, and offline.access so scheduled posts can publish while you are away. Wiro stores the access and refresh tokens, your account identifier, name, username, and profile image, and the resulting post identifier and link. Your timeline, followers, direct messages, and other accounts’ posts are not accessed.
General
Social media data is used only to operate the publishing and planning features you use. Wiro does not use social content, engagement data, or audience information for advertising, profiling, or AI model training.
9. Advertising Platform Integrations
Wiro can display advertising performance data from Meta Ads, TikTok Ads, Google Ads, Snapchat Ads, LinkedIn Ads, X Ads, Pinterest Ads and ChatGPT Ads. Agency admins and managers can also create ads from Wiro on Meta Ads, Google Ads, TikTok Ads, Snapchat Ads, LinkedIn Ads, X Ads, Pinterest Ads and ChatGPT Ads, and pause, resume or re-budget them on Meta Ads and Snapchat Ads, as described below. Wiro never changes or creates an ad on its own: every change is made by a person, in Wiro, for an ad account their agency has connected.
ChatGPT Ads
OpenAI does not offer sign-in for third-party tools to its Ads API, so a ChatGPT ad account is connected with an API key you create in OpenAI’s Ads Manager. Each key reaches one ad account. Wiro checks the key with OpenAI, stores it encrypted, never shows it again, and uses it only to read the ad account, its campaigns and their performance and conversion figures. Deleting the key in Ads Manager, or disconnecting it in Wiro, ends the connection.
Meta Ads
Wiro requests the ads_read, ads_management, and business_management permissions. ads_read is used to read your ad accounts, campaigns, ad sets, ads, spend, and performance metrics. ads_management is used only when a team member chooses to: pause or resume a campaign, ad set, or ad; change a campaign’s or ad set’s budget; or create a new ad with Wiro’s Ad builder, which creates the campaign, ad set, picture, creative, and ad together. business_management is used to find the ad accounts and Facebook Pages your business can use.
An ad made in Wiro can run wherever Meta chooses, or only on the places a team member picks: Facebook, Instagram, Threads, Messenger and Audience Network. Meta shows ads on Threads only alongside the Instagram feed, so choosing Threads includes Instagram. Ads can be a picture, a video (which Meta fetches from your workspace’s media storage) or a carousel of cards, can be limited to particular spots such as Reels or Stories, and can be set to run exactly as made, which switches off Meta’s automatic touch-ups. A click-to-message ad opens a WhatsApp, Messenger or Instagram chat with the business instead of a website; the chats themselves are handled by those apps and, where connected, by Wiro’s Messages page. When someone opens a campaign’s detail, Wiro asks Meta how its spend, views and clicks split across those places, and shows the answer without storing it.
Ads created in Wiro are always created paused, so nothing is shown or charged until someone turns them on. Resuming an ad and changing a budget both ask for confirmation first. If creating an ad fails part way, Wiro deletes the parts it had already created.
Google Ads
Wiro connects to the Google Ads API with the adwords scope. It is used to read your ad accounts, campaigns, spend, and performance metrics and, only when a team member uses the Ad builder, to create a Search campaign: its daily budget, the campaign itself (paused, with Google’s Maximize clicks bidding), an ad group, a responsive search ad with the headlines and descriptions you write, the keywords you list, and the countries and languages you choose. Google creates all of it in one request or none of it, so a failed attempt leaves nothing behind. Every campaign Wiro creates is declared as not containing EU political advertising, as Google requires.
The Ad builder can also create a Display campaign for the Google Display Network, with responsive display ads made from the pictures, logo, headlines and descriptions you provide (the pictures are uploaded to your Google Ads account as image assets), and a YouTube campaign, which Google’s API creates as a Demand Gen campaign: it refers to a video already on YouTube by its link, adds your logo and text, and shows only in the places you choose (YouTube in-stream, in-feed, Shorts, and optionally Discover and Gmail). Wiro does not upload videos to YouTube.
TikTok Ads
Wiro connects to the TikTok Business API with the access your TikTok for Business account grants. It is used to read your ad accounts, campaigns, spend, and performance metrics and, only when a team member uses the Ad builder, to upload the ad’s video (which TikTok fetches from your workspace’s media storage), make a cover from it, create a custom identity with the name you give if you don’t pick an existing one, and create a campaign, ad group, and ad. Everything is created switched off. If creating an ad fails part way, Wiro deletes the campaign it had already created.
The Ad builder can also make Spark Ads, which boost an existing TikTok post: the post’s owner creates a code in TikTok and shares it, and when a team member enters it, Wiro applies it to the agency’s ad account (which TikTok requires) and reads the post’s caption, picture and account name to show a preview. It can make carousel ads from pictures you upload, with music from TikTok’s library, and image ads for TikTok’s ad network and other apps. Pictures for these are stored in your workspace’s media storage so TikTok can fetch them. You choose where ads run (TikTok, Pangle, TikTok’s other apps, or automatic) and whether they may appear in TikTok search results.
Snapchat Ads
Wiro connects to the Snapchat Marketing API using the snapchat-marketing-api scope to read your ad account and campaign performance and, when a team member chooses to, to pause, resume, or change the budget of a campaign. When a team member creates a Snapchat ad in Wiro, Wiro sends Snapchat the campaign, budget, dates and audience they chose (countries, language, ages, gender and interests), the picture or video they uploaded, the headline, link and button, and the Public Profile the ad runs as. Ads are created paused.
Creating ChatGPT ads
When a team member creates a ChatGPT ad in Wiro, Wiro sends OpenAI, with the ad account’s own API key, the campaign, budget, dates, bidding and audience they chose (countries and the ChatGPT apps or web), the context hints describing what the ads offer, the pictures they uploaded (OpenAI fetches them from Wiro’s storage), and each ad’s title, text and link. The campaign is created paused.
LinkedIn Ads
Wiro connects to the LinkedIn Marketing API with the r_ads, rw_ads and r_ads_reporting scopes to read your ad accounts, campaigns and their performance. When a team member creates a LinkedIn ad in Wiro, Wiro sends LinkedIn the campaign, budget, dates and audience they chose (countries, ages, gender, job functions and seniorities), the pictures, video or PDF they uploaded, the intro text, headline, link and button (or a text, Spotlight or follower ad’s own wording, and the bid they set), and their confirmation that the ad isn’t political advertising. The ad runs as the Company Page the ad account belongs to, as a post that only appears as an ad. Ads are created paused. LinkedIn access tokens last 60 days and are refreshed with LinkedIn’s refresh token; both are stored encrypted.
X Ads
Wiro connects to the X Ads API with the access you approve when you sign in to X to read your ad accounts, campaigns and their performance. When a team member creates an X ad in Wiro, Wiro sends X the campaign, budget, dates and audience they chose (countries, age range, gender and interests), the pictures or video they uploaded (including full-screen vertical videos), the post text, the card or video headline and link, any keywords, links to existing posts they choose to promote, and the funding source to pay with. The posts are promoted-only: they run as ads from the ad account’s X account and don’t appear on its profile. Ads are created paused. The X access token and its secret are stored encrypted.
Pinterest Ads
Wiro connects to the Pinterest API to read your ad accounts, campaigns and their performance. When a team member creates a Pinterest ad in Wiro, Wiro sends Pinterest the campaign, budget, dates, bid and audience they chose (countries, ages, gender and interests), and makes the ad’s Pins with the pictures or video they uploaded, the title, description and link, on the board they choose; a protected board keeps those Pins off the profile. Ads are created paused. Pinterest access tokens last 30 days and are refreshed with Pinterest’s refresh token; both are stored encrypted.
Who can change ads, and the record kept
Only the agency’s admins and managers can pause, resume, re-budget, or create ads from Wiro, and never someone whose access to the Ads page has been turned off. Each change is recorded with the team member, the ad, the time, and the value before and after, so the agency can see who did what. This record is kept for as long as the workspace exists and is deleted with it.
TikTok Ads
Wiro connects to TikTok for Business via OAuth to read your TikTok Ads account details and campaign performance metrics. No ad creation or modification is performed without your explicit action.
Google Ads
Wiro requests the adwords scope to read your Google Ads account hierarchy and campaign performance data. This is a separate connection from the Wiro Google integration and uses a separate OAuth client.
Advertising tokens are stored in Wiro’s database. Campaign performance data is fetched on demand and synced on a scheduled basis. Wiro does not use advertising data for any purpose other than displaying it to you inside the platform.
10. Cloud Storage Integrations (Dropbox and OneDrive)
You can import files into Drive from Dropbox and Microsoft OneDrive (including SharePoint libraries you can open). Access is read-only: Wiro never changes, moves or deletes anything in your Dropbox or OneDrive. Wiro does not access Google Drive.
Dropbox
When you connect Dropbox, Wiro asks for permission to read file metadata, file contents and your account details. Wiro lists your folders so you can choose what to import, then copies the files you chose into your workspace’s Drive. Your Dropbox access and refresh tokens are stored encrypted.
Microsoft OneDrive
When you connect OneDrive, Wiro requests Files.Read.All, offline_access, and User.Read from Microsoft, and uses them only to list your files and copy the ones you choose into Drive. Your OneDrive access and refresh tokens are stored encrypted.
Disconnect
Disconnecting from the Import window deletes the stored tokens and stops all further access. Files you already imported stay in your Drive, like any other file, until you delete them.
11. Data Retention and Deletion
We retain your data for as long as your account is active. If you close your account, we will delete your personal data within 30 days, except where retention is required by applicable law (e.g., financial records required under UAE commercial law).
Synced event data from Google Calendar, Calendly, and Cal.com remains in Wiro’s database after you disconnect the relevant integration. It is no longer refreshed once disconnected. You may request deletion by emailing admin@wiro.ae.
Files in Drive are kept until you delete them. Deleted files sit in the trash for 30 days and are then deleted for good, with their older versions and previews. Turning off a share link or file request stops it working immediately.
If we suspend or close an account under our Terms of Service, a suspended account’s data is kept until it is restored or closed. A closed account’s data is deleted as described in the Terms, straight away for accounts that were empty or never valid.
You may request deletion of your account and all associated data at any time by emailing admin@wiro.ae.
How to delete your data
- To remove a connected account and the data Wiro holds for it, disconnect it in Wiro: ad accounts from the Ads page (Manage accounts, then Disconnect), and social, messaging, and other integrations from Settings. Disconnecting deletes the stored tokens straight away and stops all further access.
- To delete everything, email admin@wiro.ae from the email address on your Wiro account with the subject “Delete my data”. We confirm by email and delete your account and its data within 30 days, apart from records the law requires us to keep.
- To stop Wiro’s access from the Facebook side, remove Wiro in Facebook under Settings and privacy, then Settings, then Business integrations (or Apps and websites). You can still email us to have the data Wiro already holds deleted.
12. Security
We use industry-standard security practices including TLS encryption in transit, encrypted storage at rest, and role-based access controls. OAuth tokens for all third-party services are stored encrypted and are never exposed in client-side code or public API responses.
Despite these measures, no system is completely secure. You are responsible for maintaining the security of your login credentials and any integration tokens you configure.
13. Data Sharing
Wiro does not sell your data. Your data is not shared with third parties except:
- Service providers necessary to operate Wiro (such as Supabase for database hosting), who process data only to provide services to Wiro and are required to protect it appropriately
- The third-party platforms you explicitly connect (e.g., data sent to Meta when you publish a post, or to Google when you create a calendar event)
- The people you choose to share files with: anyone holding a share link, a client you share into their portal, or someone sending files through your file request sees what you allowed
- Where required by applicable law or a lawful government request
Your data is not shared with advertising platforms for targeting purposes. Integration data (social posts, messages, bookings) is transmitted to the relevant third-party service only when you initiate the action.
14. Your Rights
Depending on your jurisdiction, you may have the right to:
- Access the personal data we hold about you
- Correct inaccurate data
- Request deletion of your data
- Object to or restrict certain processing
- Data portability (receive your data in a machine-readable format)
To exercise any of these rights, contact admin@wiro.ae. We will respond within 30 days.
15. Cookies and Local Storage
Wiro uses session cookies strictly necessary for authentication. We do not use third-party tracking cookies or advertising cookies.
Wiro keeps a random device identifier in your browser’s localStorage so it can recognise a device your login has used before. Clearing your browser’s site data removes it, and that browser is then treated as a new device.
Wiro uses your browser’s localStorage to cache limited Calendar metadata for performance. These caches are cleared when you disconnect Google or when you clear your browser’s site data.
16. Changes to This Policy
We may update this policy from time to time. We will notify you of material changes by email or by displaying a notice in the platform. Continued use of Wiro after changes are posted constitutes your acceptance of the updated policy.
17. Contact
For all privacy enquiries, data-deletion requests, or questions about this policy: