Founder-only action page for quickly granting, extending, disabling, and reviewing lifetime/temporary comp access and partner access codes.
Founder Operating System Access Management Partner Access Page Access AuditUse this for trusted partners, sponsors, ambassadors, or founder-approved accounts.
insert into public.comp_access_accounts
(email, label, access_type, partner_name, active, expires_at, notes, created_by)
values
('partner@email.com', 'Lifetime Partner Full Access', 'partner_full', 'Partner Brand', true, null, 'Lifetime comp access approved by founder', 'Founder')
on conflict (email)
do update set
label = excluded.label,
access_type = excluded.access_type,
partner_name = excluded.partner_name,
active = true,
expires_at = null,
notes = excluded.notes,
updated_at = now();
Use this for field testers, podcast hosts, short-term partners, or trial accounts.
insert into public.comp_access_accounts
(email, label, access_type, partner_name, active, expires_at, notes, created_by)
values
('hunter@email.com', '90-Day Full Access', 'trial_full', 'Field Tester', true, now() + interval '90 days', 'Temporary comp access approved by founder', 'Founder')
on conflict (email)
do update set
label = excluded.label,
access_type = excluded.access_type,
partner_name = excluded.partner_name,
active = true,
expires_at = now() + interval '90 days',
notes = excluded.notes,
updated_at = now();
Use this to turn off email-based comp access immediately.
update public.comp_access_accounts
set active = false,
updated_at = now()
where lower(email) = lower('hunter@email.com');
Use this to create a reusable partner/pro-staff access code.
insert into public.partner_access_codes
(code, label, access_type, partner_name, active, max_redemptions, expires_at, notes)
values
('BRANDVIP2026', 'Brand VIP Full Access', 'partner_full', 'Partner Brand', true, null, null, 'Partner code approved by founder')
on conflict (code)
do update set
label = excluded.label,
access_type = excluded.access_type,
partner_name = excluded.partner_name,
active = true,
max_redemptions = excluded.max_redemptions,
expires_at = excluded.expires_at,
notes = excluded.notes,
updated_at = now();
Use this to limit a code to a set number of redemptions.
update public.partner_access_codes
set max_redemptions = 25,
updated_at = now()
where code = 'BRANDVIP2026';
Use this to shut off a shared code without affecting existing email comp accounts.
update public.partner_access_codes
set active = false,
updated_at = now()
where code = 'BRANDVIP2026';
select email, label, access_type, partner_name, active, expires_at, created_at, updated_at from public.comp_access_accounts order by created_at desc; select code, label, access_type, partner_name, active, redemption_count, max_redemptions, expires_at, created_at from public.partner_access_codes order by created_at desc;