Data Separation
MCP routing
- Preferred path: use MCP
unicatoolsunica.view {},unica.search,unica.viewon the object node,unica.viewon the role node,unica.check,unica.docs, andunica.run. - Runtime идёт через
unica.run: вызов безopотдаёт словарь операций и контракт каждой —argsSchema,execution,previewRequired,ifRevRequiredOnApply. Контракт вызова бери оттуда, а не из этого текста; выбирай только операцию сimplemented: trueи не выдумывай аргументов записи сargsSchema: null; превью исполнением не является. Не обходи контракт прямым runner-ом. - Use
unica.viewon the schema node when reports/DCS queries may bypass tenant filters. - Do not call internal metadata, analyzer, standards, runtime, or package adapters directly. They are hidden behind MCP
unica.
References
- Read
../../references/platform/platform-mechanics.mdfor tenant-boundaries, rights, temporary storage, background jobs, and exchange behavior. - Read
../../references/platform/db-performance.mdwhen separated data changes query plans, indexes, locks, or virtual table filters. - Read
../../references/platform/runtime-diagnostics.mdwhen the issue appears only in ЖР/ТЖ or runtime traces.
Workflow
- Identify separation model: separator values, tenant ownership, user/session context, rights/RLS, privileged code, and external ids.
- Inspect metadata and roles with
unica.viewon the object node andunica.viewon the role node; find risky code withunica.search. - Trace tenant value through reads, writes, reports, background jobs, exchange messages, file batches, temp storage, and integration calls.
- Review queries for missing tenant filters, unsafe privileged mode, broad virtual tables, and joins that cross boundaries.
- Check syntax with
unica.check(test runs are outside the v0.13 surface); record runtime verification as unavailable and require separate evidence covering at least two tenant contexts.
Red flags
- Code writes objects without setting separator attributes.
- Background job runs under a broad user context and processes all tenants.
- Exchange or integration payload omits tenant/external owner id.
- Report/DCS query uses privileged access without a documented reason.
- Temporary storage or files are shared across tenant/session boundaries.
Contract gaps
If public MCP unica cannot expose separation metadata, role details, or runtime context required for the task, report a Unica MCP contract gap.