Privacy policy
Last updated
How this independently operated development app uses information when you connect Meta, read advertising reports or request supported ad actions.
Operator and scope
Marketing Terminal Development is operated by Anirudh Murali. For privacy questions or requests, email anirudh.murali29@gmail.com.
This policy describes the current locally run app and these public information pages. The app is independently operated, not operated by Meta. It describes implemented features, not a promise that every publishing action is available or succeeds.
Information used by the app
- Meta connection. Authorization reads your Meta profile identifier and display name. The app saves the display name, encrypted Meta user access token, token expiry information, granted and missing permissions, connection time, and access-verification status and messages to authorize requests and check access.
- Accounts and Pages. Discovered account and Page identifiers and names, account currency and status, and your account and Page selections are saved to identify available assets and your chosen connection. Page access tokens are not persisted.
- Reports. Campaign, ad set and ad information and aggregate performance metrics are read from Meta for the selected account. Results are displayed temporarily and are not persisted as reports. Connection metadata and operation history are separate.
- Publishing details. Local records retain the ad name, text, headline, description, destination URL, audience country and age range, budget and currency submitted for ad creation. These normalized details and their fingerprint support exact-match checks and handling of interrupted requests.
- Images. The selected image is processed in memory and sent to Meta for a requested publishing action. Durable local records retain image filename, type, dimensions and a digest, not the uploaded image bytes.
- Management and operation history. Requested name or budget changes are processed to perform the action. Local receipts retain management target and action, an input fingerprint, account and Page references, object identifiers, status, timestamps, step and continuation records, and sanitized error information. Full management request values are not saved as publishing details. This history explains outcomes and helps prevent duplicate actions.
- Correspondence. Your sender email address and the information you include in a request are used to locate records, confirm your authority and respond.
Local storage and essential sessions
Connection and operation records are stored in a local SQLite database on the computer running the app. The Meta user token is encrypted before saving. This does not encrypt the whole database or all metadata and operation history; security also depends on protecting that computer and its private configuration.
Short-lived, single-use OAuth state records are kept locally to check authorization responses. Server sessions are held in memory, with an essential session cookie associating the browser with its local session.
The local app also uses the browser tab's sessionStorage for recovery markers: account and Page identifiers, request keys, management target and action, receipt identifiers and continuation markers. These help recover status after a reload without duplicating an action. They do not contain ad text, image bytes, credentials or report contents, and are separate from durable server history.
Retention and disconnect
The saved connection remains locally until replaced or disconnected. Token expiry makes authorization unusable; it does not automatically erase the saved connection. Expired OAuth states are rejected and cleaned up during authorization handling.
Disconnect locally clears current saved identity, user token, account and Page discovery and selection data, permissions, verification data and OAuth states. It does not erase operation, step or continuation history, revoke Meta's access grant, or delete ads, images or posts held by Meta.
There is no automatic timed purge of operation history in the current app. Those records remain locally unless removed through controlled manual handling. Use the data deletion instructions to request review and deletion. Disconnect is not confirmation that all retained data has been erased.
When information is sent to others
Meta receives authorization and API requests to read assets you authorize or carry out an action you request. Requested publishing sends ad content, images, destination and audience information, and budget parameters to Meta. Meta handles its own account information and resulting advertising objects under its settings and privacy policy.
When you send a privacy or deletion email, the operator and the email provider process that correspondence to handle your request. Include only necessary non-secret context, not credentials or unnecessary personal information.
Visiting these public pages
These information pages have no scripts, forms, analytics or tracking pixels. The pages themselves do not set app session cookies or use browser storage. This is distinct from the essential cookie and recovery storage used by the local app.
These public privacy and data deletion information pages are hosted on Cloudflare Pages. Cloudflare receives ordinary connection and request information, such as IP address, requested page, request time and browser information, to deliver and secure this policy-only site. The local app, its database and its operation history are not hosted on this site. See Cloudflare's privacy policy.
Current limits and updates
This version does not collect live lead-form submissions or ingest lead records into a CRM. Reported lead counts are aggregate performance metrics, not individual lead records.
Review and update this policy before new data collection, live lead or CRM features, or different retention behavior. Contact the operator with questions about the current app, or use the manual deletion request.