Security & controls

Your work.
Protected by design.

Your customer data stays separate. Your rules decide what runs. Your team can trace the result. Powered by Fibric.

Powered by Fibric.

Action receipt · RB-90417 Checked
Action conversation.reassign · status.send
Target thread 5821 · reopened billing
Tenant northwind-goods · reseller harbor
Grounded live conversation + scoring data
By j.ruiz · 14:02 CT
Ran once handled once, no replay
Checked against policy · Receipt #RB-90417
01 Real data only

A clear view of what’s known.

Live customer views use connected records. If a result is unavailable, it stays unavailable. Placeholder values cannot pass as measured data.

Source tagging. Placeholder values are marked source:"fallback" and excluded from live customer metrics.
Missing means missing. If a result is unavailable, the workspace shows the gap.
Findings with sources. Letra connects each finding to the records behind it.
Data layer · source tagging Sample data
MetricSource
SLA at risk this hour live query · rendered real
Conversations scored today scoring engine · rendered real
Churn rate no connected source · not shown fallback · hidden

Values without a connected source are marked as fallback data and withheld from live metrics.

02 Every action checked · fail-closed

Permission before action.

Every proposed action is checked against your policy. If permission is missing or a check fails, it stops. Sensitive actions require a person’s approval.

Your policy applies. The required checks run before any action, whether proposed by a person or AI.
Approval where it matters. Sensitive actions wait for an authorized person to approve them.
Handled once. Click twice and it still runs once. A retry or a replay never doubles a customer message or a refund.
Permissions · action checks
P
Proposed by AI agent AI
Refund a duplicate charge on thread 5821
Policy check
Allowed: refund $38 to the customer of record, under the $50 cap → pass
×
Counter-example, blocked person
Refund $240, billing dispute proposed elsewhere → vetoed, over cap and a dispute. Fail-closed: handed to a person.
Executed · runs once
Refund issued once · handled once, key RB-90417
03 Data isolation

Your data stays in your workspace.

Each record carries a reseller and tenant identity. Database rules limit access to the caller’s tenant, keeping customer records separate.

Enforced at the row. Row-level security in an AWS-managed Postgres, with the tenant set on every connection. App bugs cannot leak across tenants because the database scopes the read.
Reseller support. Each tenant has its own data boundary within the platform.
White-label safe. Your customers share infrastructure but never a row. Nothing of one tenant's conversations touches another's.
AWS-managed Postgres · tenant-scoped read
-- every connection sets the tenant guard
SET app.tenant_id = 'northwind-goods';
SET app.reseller_id = 'harbor';
-- the query you write is automatically scoped
SELECT verdict, scored_at FROM qa_scores;
-- RLS appends: WHERE tenant_id = app.tenant_id
Your rows only · a row from another tenant cannot be returned, ever
04 Action records

A record you can rely on.

Each action leaves a receipt with its target, authority, source data, and result. A unique operation key prevents the same action from running twice.

Who, what, when, why. AI agent or person, action, target, timestamp, and the data the answer was grounded in are all on the receipt.
Proof it ran once. The receipt carries the key that proves the action was handled once and not replayed.
Exportable. Pull the full receipt trail into your own audit system over CSV or API.
Receipt trail · last 3 actions Audited
Action conversation.reassign · status.send
Target thread 5821 · reopened billing
Checked · by j.ruiz 14:02 CT · #RB-90417
Action refund.issue
Target thread 5793 · $38, under $50 cap
Checked · by June (AI agent) 11:18 CT · #RB-90402
Action conversation.handoff
Target thread 5771 · billing dispute → person
Checked · by June (AI agent) 09:54 CT · #RB-90388
Security posture

Protection beneath the surface.

Security also depends on how the service is hosted, accessed, and maintained.

Data & encryption
In transit TLS 1.2+
At rest AES-256, KMS-managed keys
Tenant isolation Row-level security
Data residencyUS (AWS, account-isolated)
Access & identity
Team & reviewer auth AWS-managed identity (MFA available)
SSO / SAMLEnterprise plan
Least privilege Scoped IAM per service
Source connections Read-scoped tokens
Operations & resilience
Action logging Receipt on every action
Runs once One owner per conversation
Backups Point-in-time restore
Secrets AWS Secrets Manager
Safety & compliance
Real-data guarantee Fallback tagged + withheld
Action policy Fail-closed by default
Audit export CSV / API
SOC 2 Type IIIn progress

Contact us for a security questionnaire, DPA, or architecture review. Report vulnerabilities to security@bearscope.com.

Because it runs on Fibric

Part of the foundation.

Fibric powers BearScope’s connections, permissions, and actions. Its checks run before work can reach a customer.

/ Scoped to your workspace.

Records carry reseller_id and tenant_id. Access rules use those identities to keep data separate.

/ Checked before it runs.

AI proposes the action. Fibric checks permissions and policy before execution.

/ Protected against repeats.

Fibric coordinates work on each record and recognizes retries, preventing duplicate execution of the same action.

/ Connected through capabilities.

Connectors expose supported actions to the platform. The same policy checks apply across systems.