Skip to main content

Privacy & Data Handling

This page summarizes how the headless REST API and MCP server handle your data. It is a technical overview for integrators. Your use of the API is governed by the NativeAds Terms & Conditions, which also contains the privacy and cookie policy.

What the API processes​

  • Brand information you create or update (name, industry, description, values, tone, voice, logo).
  • Assets you upload (images, video, documents) and URLs you submit, either for Brand DNA extraction or to have their images extracted.
  • Third-party media copied from a page you submit to URL asset extraction. Extraction visits that page and up to 15 related pages on the same site that it links to (tabs, sub-pages, galleries, sibling products, other sections of the same catalogue), downloads the images it finds on them, re-encodes them, and stages the copies under your organization.
  • Generation inputs (prompts, source asset references, model and format selections).
  • Usage metadata (which operations ran, against which organization, for billing and rate limiting).

All data is scoped to your organization. A key or OAuth token can only read and write data belonging to the organization it was issued for.

How credentials are protected​

  • API keys are never stored in plaintext. Only a keyed hash (HMAC-SHA256 with a server-side secret) is persisted; the secret portion of the key is shown once at creation and never again. Compare, revoke, and expiry checks run server-side.
  • OAuth tokens are opaque and verified by introspection against the authorization server on every request, so revocation and role changes take effect immediately.
  • Access is resolved from your live organization membership. Removing a user or changing their role changes what their key or token can do on the next call.

Asset storage and delivery​

Uploaded assets are stored in cloud object storage. Downloads are served through short-lived, signed URLs, they are not publicly listable. Requesting an asset returns a signed URL that expires. Bytes are uploaded by your client directly to a presigned URL; the MCP transport never carries file contents.

URL fetching​

Two features fetch a URL you supply, server-side: Brand DNA extraction (the urls input) and URL asset extraction (POST /v1/assets/extract-from-url / extract_assets_from_url).

Only public http/https addresses are allowed. Requests to internal, loopback, link-local, carrier-grade NAT, reserved, and cloud-metadata addresses are rejected at submission and again at fetch time, which also covers a hostname that changes what it resolves to in between. For URL asset extraction the check additionally applies to every related page it follows and to every image on those pages, not just the page you submitted. Related pages are only ever on the same site as the page you submitted; the extractor never leaves that host.

When a site refuses the platform's own browser (a bot-protection challenge or an access block), URL asset extraction may fetch that one page through a third-party page-rendering provider, and only when the platform has been configured to do so. The provider receives the page URL you submitted, and, when that page's image host also refuses the platform, the URLs of the images found on that page; nothing else. What it returns is processed as above, and related pages are not fetched this way.

Asset extraction goes further than reading a page: it downloads the images it finds, on the page and on the related pages it follows, and keeps copies. Submit only pages whose media you have the right to use. You are responsible for that determination — the platform does not evaluate the rights in a page you point it at.

Image upscaling​

An upscale group sends a copy of its source image to fal.ai, a third-party inference provider, which runs Topaz's upscaling model on it. If Topaz fails twice with a temporary error, the same copy may be sent once to SeedVR2, an upscaling model that also runs through fal.ai. The copy is a PNG uploaded to fal.ai's file storage. Only the image and the enlargement factor go with it: no prompt, brand information or account details.

Each result is downloaded back and stored under your organization as an image asset, with a smaller preview copy. These assets are not listed among your brand's assets. You reach them through their upscale group.

Data retention and deletion​

Brands, assets, and Brand DNA versions persist until you delete them. Brand DNA versions can be deleted via the API (delete_brand_dna_version / DELETE …/brand-dna/versions/{versionId}). For deletion of other data or a full account, contact support@nativeads.ai.

Extraction candidates you never commit are staged outside the brand: not charged, not quality-assessed, not listed among your assets. They are removed two ways. Uncommitted staging expires automatically 30 days after the extraction ran. And you can withdraw a scrape immediately with DELETE /v1/assets/extract-from-url/{extractionId}, which deletes the extraction, its candidates, and their staged copies. Assets you committed are unaffected by either — those are normal assets and persist until you delete them.

Extended video frames. When a start, end or intermediate frame for image-to-video does not match the video's shape (16:9, 9:16 or 1:1), the platform extends it with AI and keeps the extended copies (the AI's result and a retouched version of it), so later videos made from the same image in the same shape can reuse them. These copies are not listed among your assets, cannot be fetched through the API, and are not deleted when you delete the source asset. To have such copies removed, contact support@nativeads.ai.

Upscaled images. Deleting an upscale group or one of its outputs (DELETE /v1/upscale-groups/{groupId}, DELETE /v1/upscale-groups/outputs/{outputId}) removes it from every response, but the stored images are kept. To have them removed, contact support@nativeads.ai.

Contact​

Security or privacy questions: support@nativeads.ai.