Security

Security & data protection

Where the BrandUp Factory apps and platform run, how access is protected, which data each Shopify app can reach and what happens to it when the app is uninstalled.

Infrastructure

Hosting

Website and platform

This website and the BrandUp platform run on Vercel. The server functions are deployed to Vercel’s Frankfurt region (fra1).

Platform data

Platform data is stored on Amazon Web Services: a PostgreSQL database on Amazon RDS and files on Amazon S3. The storage region set in the configuration is eu-central-1 (Frankfurt).

App backends

The backends of all five Shopify apps run on Heroku. The apps are embedded in the Shopify admin and use Shopify’s session authentication.

App data

Digital Product Passport and Green Claims Checker run in Heroku’s EU region with their database on Amazon RDS in Frankfurt (eu-central-1). The hosting and sub-processors of each app are listed in its privacy policy.

BrandUp platform

Access to the platform

The BrandUp platform is the dashboard in which BrandUp Factory and its clients work with shop, order and marketing data.

  • Two-factor authentication. The dashboard asks for a time-based one-time code (TOTP) in addition to the password; the requirement is set per account by an administrator. A valid login alone is then not enough: until the code is confirmed for the session, every protected endpoint answers with 401.
  • Enforced on the server. The second factor and the permissions are checked on the server for each request, not only in the interface. A second factor that has been set up is always required.
  • Permissions per user. Each account holds a set of permissions per area; an account without a permission has no access to that area. The user is read from the database on every request, so a changed permission applies immediately.
  • Separation per company. Shops are assigned to companies. Every shop or company referenced in a request is checked against the companies the signed-in user belongs to.

Credentials

Stored credentials

Encrypted at application level

Access tokens and API keys for connected services, such as shop API credentials and OAuth tokens, are encrypted with AES-256-GCM before they are written to the database. The key is kept outside the database.

Shopify sessions in the apps

The apps authenticate through Shopify. When an app is uninstalled, its stored sessions are deleted immediately.

Shopify apps

Data access per app

Each app requests the access scopes listed here; Shopify shows them before the installation. All five apps subscribe to Shopify’s mandatory privacy webhooks for customer data requests, customer data erasure and shop data erasure.

Access scopes

  • Products: read and write
  • Themes: read and write
  • Metaobjects and their definitions: read and write
  • Optional scopes: store languages (read), web pixels (write), customer events (read), discounts (write)

write_products, read_themes, write_themes, read_metaobject_definitions, write_metaobject_definitions, read_metaobjects, write_metaobjects
optional: read_locales, write_pixels, read_customer_events, write_discounts

On uninstall

The blocks disappear from your store; the app does not edit theme files. Sessions are deleted immediately. Purchased sections stay assigned to your shop and are back after a reinstall; the remaining app data is deleted when Shopify sends the data deletion request 48 hours after uninstalling.

Access scopes

  • Products: read and write
  • Publications (sales channels): read
  • Markets: read
  • No scopes for orders or customers

read_products, write_products, read_publications, read_markets

On uninstall

The switcher, the collection cards and the cross-selling blocks disappear from your store, and your products are unchanged. The app never edits your theme files, so no code is left behind. Sessions are deleted immediately, the app data 48 hours after uninstalling unless you reinstall in the meantime.

Access scopes

  • Products: read and write
  • Orders: read
  • Store policies: read
  • Themes: read and write
  • Pages and blog content: read and write
  • Online Store navigation: write

read_products, write_products, read_orders, read_legal_policies, read_themes, write_themes, read_content, write_content, write_online_store_navigation

On uninstall

Sessions are deleted immediately. Shop data is kept for 30 days so that a reinstall restores it, and is removed after that. Content the app wrote to your store, such as FAQ entries and product texts, stays in your store.

Access scopes

  • Products: read and write
  • No scopes for orders or customers

read_products, write_products

On uninstall

Passport pages go offline, and your shop data is deleted when Shopify sends the data deletion request 48 hours after uninstalling, unless you reinstall in the meantime. You can export all passport data as CSV at any time, on every plan.

Access scopes

  • Products: read and write
  • Pages and blog content: read and write
  • Store languages: read
  • Translations: read and write
  • No scopes for orders or customers

read_products, write_products, read_content, write_content, read_locales, read_translations, write_translations

On uninstall

Your Shopify texts stay as they are. Text snapshots, findings and evidence are deleted 48 hours after uninstalling, unless you reinstall in the meantime.

Data protection

GDPR

  • The privacy policy of this website is available in English and in German.
  • Each Shopify app has its own privacy policy with the data it processes and its retention periods: privacy policies of the apps.
  • For client projects, BrandUp Factory signs a data processing agreement and documents which data flows where. Request it at info@brandupfactory.com.

Responsible disclosure

Report a vulnerability

Found a security issue in one of the apps, the platform or this website? Write to info@brandupfactory.com with the affected app or URL and the steps to reproduce it. Please do not include personal data of third parties in the report.