6 - Security & Privacy
# Security & Privacy
Ridge Sight is designed with security at every layer. This article explains how your data is protected and what security practices we follow.
## Authentication
Ridge Sight uses GitHub OAuth 2.0 for authentication. Here's how it works:
- - You sign in by authorizing the Ridge Sight GitHub App — your GitHub password is never shared with us.
- - After authorization, GitHub issues an access token that allows Ridge Sight to read your repositories and pull requests.
- - Access tokens are automatically refreshed when they expire. You don't need to re-authorize.
- - Sessions last 7 days (Free) or 30 days (Premium). After that, you'll need to sign in again.
## How Your Data Is Stored
### Access Tokens
Your GitHub access token is encrypted at rest using AES-256-GCM — the same encryption standard used by banks and governments. The encrypted token is stored in our database and decrypted only when needed to make GitHub API calls on your behalf.
### Session Tokens
When you sign in, a unique session token is generated and set as a secure cookie in your browser. Only a SHA-256 hash of the token is stored in the database — even if the database were compromised, session tokens could not be recovered.
Session cookies are configured with:
- - httpOnly — JavaScript cannot read the cookie
- - Secure — Only sent over HTTPS
- - SameSite=Lax — Prevents cross-site request forgery
### Database Security
All user data is stored in a PostgreSQL database with Row-Level Security (RLS) enabled. This means database queries can only access rows belonging to the authenticated user — it's enforced at the database level, not just the application level.
## Data in Transit
All communications between your browser and Ridge Sight are encrypted with TLS/HTTPS. We enforce HSTS (HTTP Strict Transport Security) with preloading, which means browsers will refuse to connect over unencrypted HTTP.
## Input Validation
Every API request is validated using strict schemas before processing. This prevents:
- - SQL injection
- - Malformed data
- - Excessively large payloads
- - Invalid parameter types
All database queries use parameterized placeholders — user input is never interpolated into SQL strings.
## Rate Limiting
Ridge Sight enforces per-user rate limits to prevent abuse:
| Action | Free Limit | Premium Limit |
|---|---|---|
| API requests | 60/hour | 600/hour |
| PR expansions | 5/hour | Unlimited |
Rate limits use a sliding window algorithm rather than fixed hourly buckets. This prevents burst exploitation at hourly boundaries and provides a more consistent experience.
If you hit a rate limit, you'll see a warning message. Wait a few minutes and try again.
## Content Security Policy
Ridge Sight uses a nonce-based Content Security Policy (CSP) to prevent cross-site scripting (XSS) attacks. Each page load generates a unique cryptographic nonce that only allows authorized scripts to execute.
## Audit Logging
Security-sensitive operations are recorded in a structured audit log, including:
- - Who performed the action (user ID)
- - What action was taken (e.g., PR merge, account deletion)
- - Which resource was affected
- - IP address and User-Agent for forensic correlation
- - Timestamp
Audit logs are used for security monitoring and incident response.
## Webhook Verification
If you use GitHub webhook integrations, all incoming webhooks are verified using HMAC-SHA256 signatures with constant-time comparison to prevent timing attacks.
## Data Export
You can export all your Ridge Sight data at any time:
- - Click the gear icon in the dashboard header.
- - Click the Export Data button.
- - A JSON file is downloaded containing your saved PRs, preferences, notification settings, and other account data.
This supports GDPR data portability requirements.
## What Data Does Ridge Sight Access?
Ridge Sight reads the following from GitHub:
| Data | Purpose |
|---|---|
| Repository list | Display available repos in the sidebar |
| Open pull requests | Show PR cards on the dashboard |
| PR metadata | Title, author, status, labels, CI checks, review status |
| PR comments and timeline | Display in expanded PR view (Premium) |
| Your GitHub profile | Username and avatar for display |
Ridge Sight requests read-only access to repositories and pull requests. Write actions (merge, comment, approve) are performed through your authenticated token when you explicitly trigger them.
## AI Data Processing
When using AI Insights, only PR metadata is sent to AI providers — never your source code. See the dedicated AI Data Processing page for full details on what data is shared and how it's handled.
## Third-Party Services
For a complete list of third-party services Ridge Sight uses and what data is shared with each, see the Third-Party Services page.
## Reporting Security Issues
If you discover a security vulnerability, please report it responsibly:
- - Security Report Site sec.chkdsklabs.io Primary method, dedicated security reporting and remediation site.
- - Email: jay@chkdsklabs.io
- - Do not open a public GitHub issue for security vulnerabilities
Our full security disclosure policy can be found at sec.chkdsklabs.io/disclosure.
We support responsible security research under a safe harbor policy — we will not pursue legal action against good-faith researchers who follow our disclosure guidelines.
## Related Articles
- - AI Insights — How AI analysis protects your data
- - Plans & Pricing — Session duration and rate limits by plan
Still need help? Submit a support ticket