Create an organization to manage team security, get webhook notifications, and access enterprise features.
Manage your team's security
Total Scans
-
Threats Found
-
Team Members
-
This Week
-
Gateway Blocked
-
Gateway (24h)
-
Loading...
Get instant notifications in your team chat when dangerous links are detected.
Set what gets blocked. Changes take effect immediately.
Load the Gateway tab to see activity.
Everything you need to integrate the SecureLink corporate gateway into your infrastructure.
Every request to the gateway must include your organisation's unique API key. You can find it in the API Key tab of this dashboard.
Pass the key in the request header:
X-API-Key: YOUR_ORG_API_KEY
# Alternatively, as a Bearer token:
Authorization: Bearer YOUR_ORG_API_KEY
The gateway endpoint you'll POST to:
POST https://securelinkapp.com/api/gateway/check
Use the Policy panel above to control what the gateway allows and blocks. Changes take effect on the next API call — no restart needed.
Risk Threshold
URLs with a risk score above this value are blocked. Default is 0.5 (50%). Lower it for stricter security.
Block Categories
Automatically block entire threat classes: phishing, malware, ransomware, cryptojacking, and more — regardless of risk score.
Custom Block List
Paste any domains you want hard-blocked, one per line. Takes priority over the risk threshold.
Allow List
Domains you explicitly trust (e.g., internal services) — always allowed, even if flagged by threat analysis.
Send a POST request with the URL to evaluate. An optional user_id field tags the log entry with the employee who triggered the check.
curl -X POST https://securelinkapp.com/api/gateway/check \ -H "X-API-Key: YOUR_ORG_API_KEY" \ -H "Content-Type: application/json" \ -d '{"url": "https://suspicious-site.com", "user_id": 42}'
import requests GATEWAY = "https://securelinkapp.com/api/gateway/check" API_KEY = "YOUR_ORG_API_KEY" def check_url(url: str, user_id: int = None) -> dict: resp = requests.post( GATEWAY, headers={"X-API-Key": API_KEY}, json={"url": url, "user_id": user_id}, timeout=10, ) resp.raise_for_status() return resp.json() result = check_url("https://suspicious-site.com", user_id=42) if result["verdict"] == "block": raise PermissionError(f"URL blocked: {result['reason']}")
const GATEWAY = "https://securelinkapp.com/api/gateway/check"; const API_KEY = "YOUR_ORG_API_KEY"; async function checkUrl(url, userId = null) { const res = await fetch(GATEWAY, { method: "POST", headers: { "X-API-Key": API_KEY, "Content-Type": "application/json", }, body: JSON.stringify({ url, user_id: userId }), }); if (!res.ok) throw new Error(`Gateway error: ${res.status}`); return res.json(); } const result = await checkUrl("https://suspicious-site.com", 42); if (result.verdict === "block") { throw new Error(`Blocked: ${result.reason}`); }
<?php $gateway = "https://securelinkapp.com/api/gateway/check"; $apiKey = "YOUR_ORG_API_KEY"; function checkUrl(string $url, ?int $userId = null): array { global $gateway, $apiKey; $ch = curl_init($gateway); curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => [ "X-API-Key: $apiKey", "Content-Type: application/json", ], CURLOPT_POSTFIELDS => json_encode(['url' => $url, 'user_id' => $userId]), ]); $body = curl_exec($ch); curl_close($ch); return json_decode($body, true); } $result = checkUrl("https://suspicious-site.com", 42); if ($result['verdict'] === 'block') { throw new RuntimeException("URL blocked: " . $result['reason']); } ?>
The gateway always returns JSON. Branch on verdict to allow or deny the request in your own application.
{
"verdict": "block", // "allow" or "block"
"reason": "Risk score 0.85 exceeds threshold 0.50",
"risk_score": 0.85, // 0.0 (safe) → 1.0 (critical)
"risk_level": "high", // "safe" | "low" | "medium" | "high" | "critical"
"threats": ["phishing"], // list of detected threat categories
"warnings": [], // non-blocking advisory warnings
"log_id": 1042, // audit log entry ID (null if logging disabled)
"org_id": 7 // your organisation ID
}
verdict: "allow"
URL is safe under your policy. Let the user proceed.
verdict: "block"
URL violated your policy. Block the request and surface reason to the user.
Every URL check is logged in the Activity Log panel above (when logging is enabled in your policy). Use it to:
You can also receive real-time alerts via Webhooks (Slack, Discord, Teams) whenever a URL is blocked — configure them in the Webhooks tab.
block verdicts, keeping your inbox clean while ensuring immediate notification of threats.
X-API-Key header is present and matches the key shown in the API Key tab.
url field (max 2048 chars).
Use the API key to integrate SecureLink into your applications.
••••••••••••••••••••••••••••••••
curl -X POST https://securelink.com/api/org/{org_id}/verify \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com"}'
Purchase named-user seats to assign Pro or Enterprise access to your team members.
· Expires
| Name | Status | Assigned | ||
|---|---|---|---|---|
| No seats assigned yet. | ||||