Skip to main content

Privacy and video (7.x Beta)

7.x Beta

This page documents the 7.x beta line. For the stable release, see the 6.x video privacy page.

Disabling video

Video recording can be disabled completely via the VideoEnabled option — see configuration.

Protect activities

Add a fully-qualified activity class name to the list of secure activities. When the user navigates to that activity, the screen is substituted with black frames and touch events are dropped.

Bugsee.addSecureActivity(MySecretActivity.class.getName());
// Later:
Bugsee.removeSecureActivity(MySecretActivity.class.getName());
boolean secure = Bugsee.isSecureActivity(MySecretActivity.class.getName());

Activities carrying the system FLAG_SECURE flag are protected without any Bugsee call.

Protecting views

By View reference

Bugsee.addSecureView(mySecretView);
// View is substituted by a black rectangle in the video.
Bugsee.removeSecureView(mySecretView);

By Fragment

In 7.x the hosting-Activity argument has been removed — pass the Fragment directly.

Bugsee.addSecureView(myFragment);
Bugsee.removeSecureView(myFragment);
note

Bugsee.addSecureViews(int layoutId, Activity) still exists but is deprecated in 7.x and always returns false. Walk the view tree yourself and call addSecureView(View) per node.

Jetpack Compose

Add the Compose extension module and apply Modifier.bugseeSecure() to any sensitive composable:

// build.gradle.kts
implementation("com.bugsee:bugsee-android-compose:<version>")
import com.bugsee.library.compose.bugseeSecure

Text(
text = "Confidential",
modifier = Modifier.bugseeSecure()
)

The Bugsee Kotlin compiler plugin can also auto-inject bugseeSecure() into password TextField call sites — see the gradle-plugin reference.

WebView elements

Add class="bugsee-hide" to any element that must be redacted, or class="bugsee-show" to opt back in an element that is hidden by default (like type="password"):

<input type="text" class="bugsee-hide">
<input type="password" class="bugsee-show">

If you call WebView.setWebViewClient(...) yourself, register the WebView explicitly:

webView.setWebViewClient(new WebViewClient());
Bugsee.addSecureWebView(webView);

Protecting by coordinates

Bugsee.addSecureRectangle(new Rect(100, 100, 200, 200));
List<Rect> all = Bugsee.getAllSecureRectangles();
Bugsee.removeSecureRectangle(new Rect(100, 100, 200, 200));
Bugsee.removeAllSecureRectangles();

Blackout — time-bounded full redaction

Bracket a sensitive flow with startBlackout() / endBlackout() to fully blank the video and drop touches for the duration. This pair replaces the 6.x Bugsee.pause() / Bugsee.resume() methods — the semantics are unchanged, only the names.

Bugsee.startBlackout();
// ...render / interact with sensitive content...
Bugsee.endBlackout();

For a hard stop of all capture (including log, network, and event collection), call Bugsee.stop() and resume later with Bugsee.launch(...) — see Lifecycle events.