SEL TOP 10 employee_name,
NVL(dept, 'Unknown') AS department
FROM employees
QUALIFY ROW_NUMBER() OVER(
PARTITION BY dept ORDER BY hire_dt
) = 1;
After (BigQuery)
SELECT employee_name,
COALESCE(dept, 'Unknown') AS department
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY dept ORDER BY hire_dt
) AS _rn FROM employees
) WHERE _rn = 1
LIMIT 10;
@dag(schedule='@daily',
start_date=datetime(2026,1,1))
def load_customers():
@task
def extract():
return read_source('SRC_CUSTOMERS')
@task
def filter_active(data):
return [r for r in data
if r['status']=='ACTIVE']
Beyond one-off batches, JarvisX organizes work into
Projects — persistent workspaces that group
multiple batches, capture a running activity timeline,
accumulate a blended quality score, and produce a stakeholder-
ready Migration Pack on demand.
📚
Projects
Create a Project with a source → target pair once; attach
any number of batches to it over time. Every linked batch
rolls up into the project-level dashboard.
👥
Team access (Growth+)
Invite teammates with owner, editor, or
viewer roles. Role-gated UI: viewers can't submit,
editors can't destroy, owners hold the keys.
✅
Per-batch sign-off
Each linked batch carries a review state
(pending → reviewing →
approved / changes-requested) so you
can track who's signed off on what — before, during, and after
conversion.
📦
Migration Pack export
One click assembles a ZIP containing a cover letter, visual
summary, per-batch outputs, JarvisGraph lineage, JarvisRisk
reports, and a manifest. Branded for Enterprise customers.
📄
Activity timeline
Every meaningful event (batch attached, role changed, pack
exported) appears on the project's timeline with actor,
timestamp, and payload. Great for stakeholder updates.
📃
Clone & archive
Clone a Project to fork its config for a similar migration;
archive when complete. Archived Projects are read-only but
fully retained.
06b
API & Programmatic Access
JarvisX exposes a JSON API under /api/v1/* for
programmatic access. Generate a bearer token from your
Account → API tokens page and include it on every call.
# Token format: jvx_<env>_<32-hex> — shown once at creation, SHA-256 hashed at rest
curl -H "Authorization: Bearer jvx_prod_abc123..." \
https://gojarvisx.ai/api/v1/whoami
# List your workspaces
curl -H "Authorization: Bearer ..." \
https://gojarvisx.ai/api/v1/workspaces
# Attach an existing batch to a workspace (no re-run, no re-charge)
curl -X POST -H "Authorization: Bearer ..." \
-H "Content-Type: application/json" \
-d '{"job_id":"batch_abc123"}' \
https://gojarvisx.ai/api/v1/workspaces/wks-xyz/attach-batch
Token lifecycle
Max 5 active per user. 90-day default expiry. Immediate
revocation via self-serve UI. Revoked tokens return 401 on
next request — no cache delay.
Scopes
Tokens carry scopes (read, write) to
limit blast radius. A read-only token can query
workspaces but can't mutate them.
Audit trail
Every API call is logged to audit_events with
the token ID as actor. Tamper-evident audit for SOC 2 needs.
06c
Enterprise Features
Built for teams that need audit trails, uptime commitments, and
identity-provider integration. See our
Trust Center for the
full security posture, or the
Security Review
for procurement-grade Q&A.
🔍
SOC 2-aligned audit log
Every privileged action (auth, access changes, data, billing,
admin, export, review) is recorded with actor, subject, IP,
user-agent, and structured payload. Admin CSV export for
auditor handoff.
🛠
Public status page
Real-time component health + admin-curated incident history
at /status.
JSON endpoint /status/api for external uptime
monitors.
🛡
SAML 2.0 SSO
Per-tenant federation with Microsoft Entra, Okta, Ping, ADFS.
Admin pastes IdP metadata; your users sign in with their
corporate identity. MFA / conditional access inherited from
your IdP.
👉
Magic-link email auth
Self-serve sign-in for anyone with an email — 6-digit
code emailed, 30-minute TTL, SHA-256 hashed at rest. No
passwords, no breach risk.
🎨
Custom branding
Migration Packs can ship with your logo, company name, and
tagline on the cover letter and summary pages — so the
deliverable looks like it came from your team, not ours.
💲
Cost guardrails
Daily LLM spend cap, preflight cost estimation, kill-switch
on budget breach. Large batches are quoted before commit;
no surprise invoices.
07
Security & Privacy
Summary below; full posture with live/roadmap status at the
Trust Center →
🔒
Authentication
Three paths: Google OAuth 2.0 (OIDC), SAML 2.0 (Entra / Okta /
Ping / ADFS — Enterprise), and magic-link email codes.
Sessions are server-side with 30-min idle timeout.
No passwords stored on our side, ever.
👥
Access control
Workspace-level RBAC (owner / editor / viewer) enforced at
route + service layer. Admin actions require explicit
elevation, all audit-logged.
☁
Data storage
GCS + Firestore in us-central1. AES-256 at rest
by default; CMEK available for Enterprise. TLS 1.2+ in transit.
Least-privilege IAM throughout.
🔑
Secrets management
All credentials in Google Secret Manager. API tokens and
magic-link codes SHA-256-hashed at rest. Zero keys in source.
🤖
AI data handling
Your artifacts are processed by Claude / OpenAI to produce
the conversion you asked for — nothing more.
Neither we nor our LLM providers train on your data (per
their enterprise API agreements).
📋
Compliance roadmap
SOC 2 Type II attestation targeted 2027. Controls are
SOC 2-aligned today. Full posture + sub-processor list +
DPA availability on the Trust Center.
08
Frequently Asked Questions
Upload .sql, .py, .java, .scala, .sh, .xml, .json, .yaml, .ddl, .csv, or .zip files. ZIP archives can contain up to 10,000 artifacts per batch.
Every artifact receives a blended quality score: 70% deterministic (syntax validation, rule checks) + 30% semantic (AI-based intent-vs-output scoring). Results include HIGH / MEDIUM / LOW confidence flags.
Failed artifacts go through Auto-Repair (Layer 10) which re-prompts the AI with the error list. If it still fails, you get a detailed error report. Failed jobs do not consume credits.
Each artifact type has a weight: Query = 1x, Workflow = 2x, Code = 3x. JarvisData scales by row count (1K=2x, 10K=5x, 100K=15x per table). Credits are reserved atomically before processing and refunded on failure.
Yes. All data is stored in Google Cloud Storage with least-privilege IAM. Artifacts are processed by Claude (Anthropic) and we do not train on your data. Sessions use server-side storage with short TTLs.
Yes. The Free plan includes 50 artifacts per month and 5 Try Now conversions (paste-and-convert instantly). No credit card required.