# Control: roles, moderation, brand safety, and guidelines

Control is where you decide who can do what, what content is allowed, and how your inventory is described to buyers; every other product reads from it rather than keeping its own rules. Reading time about 6 minutes.

## Roles

Business Account roles (see [Invite your team and assign roles](https://begenuin.com/developers/get-started/any-business/invite-team-assign-roles)) cover your team. Community roles cover creators and partners: Host, Contributor, Member creator (a member whose posts go through moderation), Partner (can place content in named groups). Buyers aren't a community role: they see and purchase your packages from their own Business Account. A person can hold different roles in different communities.

## Moderation

- Baselines: Standard or Strict, each editable by category.
- Actions: hold, remove, allow with label; per content source.
- Queue: SLA timers, assignment, bulk actions, appeal flow for creators.
- Signals: classifier score, keyword and topic blocklists, member reports, partner flags.

## Brand safety profile

A description of your inventory, aligned with industry brand safety standards, attached to every placement. Buyers, package listings (see [Packages: sell outcomes to brands and demand partners](https://begenuin.com/developers/get-started/any-business/packages-sell-outcomes-to-brands-and-demand-partners)), AdCP product objects (see [AdCP: make your inventory discoverable to AI buyer agents](https://begenuin.com/developers/get-started/any-business/adcp-make-your-inventory-discoverable-to-ai-buyer-agents)), and ad server line items (see [Programmatic: Genuin Ad Server or your partner ad server](https://begenuin.com/developers/get-started/any-business/programmatic-genuin-ad-server-or-your-partner-ad-server)) all carry it. A stricter profile narrows what content can run, and a looser one widens it; the profile informs how buyers value your inventory, while prices are floors you set in Monetize (see [Floor Pricing and Yield Rules](https://begenuin.com/developers/get-started/any-business/floor-pricing-and-yield-rules)).

## Guidelines

Your community guidelines (see [Content policies and community guidelines](https://begenuin.com/developers/get-started/any-business/content-policies-and-community-guidelines)) are shown to every creator and member on first post and on every appeal. Edit them under **Control → Guidelines**; versions are kept.

## Player controls and feed settings

Per placement or per page type: autoplay, sound, captions default, share and follow buttons, comment visibility, and the personalization parameters [Maya](https://begenuin.com/developers/get-started/any-business/supervised-intelligence-what-it-does-and-where-to-start#maya-genuin-s-orchestrator) may use (see [Personalization and relevance: how Maya ranks every feed](https://begenuin.com/developers/get-started/any-business/personalization-and-relevance-how-maya-ranks-every-feed)). Changes apply without a code change.

## How it runs

What this article describes is built from your brand context and the crawl, shown rendered, and applied on your confirmation; later changes arrive as proposals in the same shape.

**Support.** Help is available 24/7 from Brand Control Center (BCC) and from every page of these docs. Ask in plain language; when a person is needed, an account manager, developer, or Ops engineer joins the same thread and stays on it until it is resolved. Every Business Account owner has this on every plan (see [24/7 Octo support: how Octo brings in account managers, developers, and Ops](https://begenuin.com/developers/get-started/any-business/24-7-octo-support-how-octo-brings-in-account-managers-developers-and-ops)).

## API & SDK

Access: the calls in the table are the proposed Business Account API (see [Business Account API: provisioning, OAuth, and the resource map](https://begenuin.com/developers/get-started/any-business/business-account-api-provisioning-oauth-and-the-resource-map)), authenticated with a key scoped to the account and a role or an OAuth client acting for it; every confirmation in this article becomes a proposal you can approve by API (`POST /proposals/{proposalId}:approve`). Live today, the server API under `/api/thirdparty` authenticates with a `gn-access-token` (see [Generate an access token](https://begenuin.com/developers/developer-resources/api/generate-access-token-using-authentication-api)), and [Live API today and the Business Account API roadmap](https://begenuin.com/developers/developer-resources/guides/live-api-today-and-the-business-account-api-roadmap) maps what is live to what is proposed.

| Call | Purpose |
| --- | --- |
| GET /accounts/{accountId}/roles | Account roles, community roles, and creator tiers with their permissions |
| PUT /brands/{brandId}/moderation | Set the baseline (Standard or Strict) and the queue owners |
| PUT /brands/{brandId}/brand-safety | Brand safety profile, aligned with industry brand safety standards, and competitive exclusions |
| PUT /brands/{brandId}/guidelines | Community guidelines and appeal policy |
| PUT /accounts/{accountId}/security | Two-factor requirement and SSO for BCC |

```js
// proposed server SDK (Business Account API)
import { Genuin } from '@genuin/sdk';
const genuin = new Genuin({ apiKey: process.env.GENUIN_KEY });
await genuin.roles.list(accountId);
await genuin.moderation.update(brandId, { baseline: 'strict' });
await genuin.brandSafety.update(brandId, profile);
```

Live today: [Add moderators to a community](https://begenuin.com/developers/developer-resources/api/assign-moderators-to-community-using-api) · [Update a group and its members](https://begenuin.com/developers/developer-resources/api/add-or-manage-group-members-collaborators-using-api).

SDKs: Web SDK (see [Embed the Genuin Web SDK on your website](https://begenuin.com/developers/developer-resources/sdk/how-do-you-embed-and-configure-the-genuin-web-sdk-on-your-website)), iOS SDK (see [Integrate the Genuin iOS SDK](https://begenuin.com/developers/developer-resources/sdk/developer/genuin-sdk/native-compatibility/ios/how-to-integrate-and-power-your-brand-community-in-ios-apps)), Android SDK (see [Integrate the Genuin Android SDK](https://begenuin.com/developers/developer-resources/sdk/how-to-integrate-and-power-your-brand-community-in-android-apps)), React Native (see [Integrate the Genuin SDK with React Native apps](https://begenuin.com/developers/developer-resources/sdk/how-do-you-integrate-the-genuin-react-native-sdk-into-your-application)), and Flutter (see [Integrate the Genuin SDK with Flutter apps](https://begenuin.com/developers/developer-resources/sdk/how-do-you-integrate-the-genuin-flutter-sdk-into-your-application)) render Genuin and sign members in; the Node (`@genuin/sdk`) and Python (`genuin`) server SDKs are proposed with [Business Account API: provisioning, OAuth, and the resource map](https://begenuin.com/developers/get-started/any-business/business-account-api-provisioning-oauth-and-the-resource-map).
