Difference between revisions of "Callproof Support"

From docs
Jump to: navigation, search
(Security mechanisms)
 
(6 intermediate revisions by the same user not shown)
Line 14: Line 14:
  
 
== [[New Website]] ==
 
== [[New Website]] ==
The Callproof website allows users to interact with contacts, Event Forms, and everything else Callproof has to offer.
 
  
 
[[File:NewWebSiteHome.png|350px|thumb|right|Callproof New Website Homepage]]
 
[[File:NewWebSiteHome.png|350px|thumb|right|Callproof New Website Homepage]]
 +
 +
CallProof New Web is a multi-tenant SaaS CRM for field sales teams. It combines account and contact management, Twilio calling and SMS, email, GPS and maps, appointments and tasks, sales opportunities, reporting, gamification, and admin tooling. The web app works alongside CallProof Android and iOS apps.
 +
 +
* Core stack Python 3.12 Django 5.2.3 PostgreSQL via psycopg2-binary 2.9.10 Apache2 with mod-wsgi 5.0.2 Static and media under callproof-static No package.json or Pipfile — frontend libraries are vendored under callproof-static or loaded from CDN
 +
 +
=== Architecture ===
 +
 +
* Application shape Flat Django project with many domain apps mounted from the root URL config. Typical apps include contacts, caller, calls, phone_numbers, sms, em, mail, funnel, report, appointments, followups, map, route, markets, region, event_forms, dash, stats, users, billing, tools, api, and others. Shared libraries live in helper and cplib.
 +
 +
* Multi-tenancy Tenant boundary is Company. Authenticated users have a UserProfile linked to a company. GetCompany middleware attaches user_profile, company, manager flags, and related context to each request. Feature flags on Company control Twilio, People Tab, 2FA, AI, beacons, login limits, and more. Data is intended to be company-scoped.
 +
 +
* Request lifecycle SameSite cookie middleware SecurityMiddleware SessionMiddleware CommonMiddleware CsrfViewMiddleware AuthenticationMiddleware MessageMiddleware XFrameOptionsMiddleware ViewName GetCompany TimezoneMiddleware APILogMiddleware AjaxRequestMiddleware Then the view, services, ORM, and template or JSON response
 +
 +
* UI architecture Current production UI is V1: Django templates, Bootstrap, jQuery, and page-level JavaScript under callproof-static.
 +
 +
* Menu system Menus are database-driven. Hierarchy is Menu, MenuCol, MenuRow, and NewUIMenuURL, with optional company customizations. HomeMenuView builds JSON for the sidebar. Items can be gated by manager, tools, dealer, Twilio, and other company or user flags.
 +
 +
* Background processing Async work uses AWS SQS handlers under cplib/sqs for jobs such as email and IMAP-related processing. There is no Celery or RQ in requirements. Scheduled exports and report pipelines run through export and schedule models and related processors. Deploy environments may supply SQS settings outside the checked-in settings defaults.
 +
 +
=== Key features ===
 +
 +
* CRM Accounts and contacts, people under accounts when People Tab is on, companies, phones, account types, custom fields, labels, titles, duplicates, business cards, imports and exports
 +
* Calling and voice Twilio soft calls, call history, phone number provisioning, Caller ID verification, call results, call overrides, recorded messages, after-call Event Forms
 +
* Messaging Twilio SMS, Auto Text for missed calls, broadcast messaging where enabled
 +
* Email Linked Gmail, Office 365, and IMAP accounts under em CallProof system report mail under mail SendGrid outbound delivery Mailchimp list integration
 +
* Sales Opportunities board, stages, types, opportunity fields, opportunity reports, goals
 +
* Field and location Google Places lead finding, routes, markets, regions, stores, places categories, beacons, clock in and out
 +
* Scheduling Appointments and visits, tasks and follow-ups, Google and Office calendar sync
 +
* Forms and integrations Event Forms, Wufoo webhooks, API access for external systems
 +
* Reporting and stats Events, activity and productivity stats, notes report, custom and manual reports, rankings, My Exports
 +
* Gamification Points, event points, badges, ranks, hustle
 +
* Admin and billing Company directory and user settings, Tools admin, ChargeOver billing, Authorize.net
 +
 +
=== Technology stack ===
 +
 +
* Backend Django 5.2.3, Python 3.12, PostgreSQL, mod-wsgi
 +
* Integrations Twilio for voice and SMS SendGrid for outbound email Mailchimp for marketing lists Google APIs for auth, calendar, and Maps or Places HERE Maps keys for geocoding where used AWS S3, KMS, SQS, and CodeDeploy Firebase for push notifications Duo SAML SSO via python3-saml OAuth for Google, Microsoft, and Apple sign-in ChargeOver and Authorize.net for billing Gryphon for DNC where enabled Rev.ai or related ML endpoints for transcription where configured
 +
* Frontend Bootstrap jQuery 3.7.1 Twilio.js Firebase JS Highcharts flatpickr Choices.js CryptoJS Dexie Sortable sorl-thumbnail for image thumbnails
 +
 +
=== Security mechanisms ===
 +
 +
* Authentication and access Django auth.User plus UserProfile Complex password rules cp_login_required for login and active company checks manager_required and other resource decorators Optional single-browser login limit per company Optional company 2FA with pyotp Menu-level and permission-flag gating for features such as SMS, call history, and phone numbers
 +
 +
* Session and CSRF Django sessions CSRF middleware and trusted origins SameSite cookie handling, with special behavior on mobile /m/ paths X-Frame-Options middleware
 +
 +
* SSO and social login SAML 2.0 with Duo IdP for enterprise SSO, including ACS, metadata, and single logout Google, Microsoft, and Apple OAuth paths
 +
 +
* Encryption and secrets AES encryption for sensitive email credentials and API-related secrets Client-side CryptoJS for some localStorage values AWS KMS for protected S3 objects where configured Environment-based secrets via dotenv
 +
 +
* API security API key and secret authentication Role-style API access models API request logging with payload sanitization
 +
 +
* Operational security Login failure throttling via cache Account disabled and suspended company checks Impersonation support through session old_user_id for support or admin flows reCAPTCHA support where configured
 +
 +
* Performance optimizations Django cache used for login attempts, filter options, and selected lookups. Default cache is LocMem unless production overrides it. Shared Redis is not configured in the checked-in settings.  PaginationMixin with configurable rows per page across list screens AJAX partial HTML and JSON responses to avoid full page reloads ORM use of select_related, prefetch_related, and only where implemented sorl-thumbnail for resized images such as logos and avatars Session-stored filter state for heavy list screens Specialized static routes for recordings, greetings, and user files
 +
 +
* Scalability Company-based multi-tenancy supports many isolated customers on one application Apache and mod-wsgi multi-process hosting AWS S3 for media, files, and email mailbox storage AWS SQS for asynchronous workers Twilio for telephony and SMS capacity Firebase for push delivery to mobile and web clients Background export and scheduled report pipelines so large jobs do not block the request thread Multiple deploy environments such as apptest, staging, UAT, and production via CodeDeploy
 +
 +
* Notable implementation details Thin views with service and utility layers in helper, cplib, and app services Mostly class-based views, with some function-based views and decorators still in use Soft deletes and hide flags on many domain models People Tab switches Contacts vs Accounts wording and enables personnel and Roles CallProof Voice section appears only when company Twilio is enabled System.
 +
 +
* Deployment and operations Deployed with Apache and mod-wsgi Assets served from callproof-static Media and specialized recording paths under configured static or media URLs Environment variables drive database, Twilio, SendGrid, AWS, OAuth, SAML, maps, and billing configuration CodeDeploy supports multiple environments
 +
 +
* Summary CallProof New Web is a Django 5.2 and Python 3.12 multi-tenant field-sales CRM on PostgreSQL. It integrates Twilio, SendGrid, Google and Microsoft services, AWS, Firebase, and Duo SAML. Security centers on company-scoped access, CSRF, optional 2FA, encrypted secrets, and SSO. Performance and scale rely on pagination, AJAX partials, caching, S3, SQS workers, and background exports.
  
 
More Info: [[New Website]]
 
More Info: [[New Website]]

Latest revision as of 07:12, 28 July 2026

Path: Callproof Support


Callproof includes a web portal and a mobile app.


Website

The Callproof website allows users to interact with contacts, Event Forms, and everything else Callproof has to offer.

Callproof Website Homepage

More Info: Website

New Website

Callproof New Website Homepage

CallProof New Web is a multi-tenant SaaS CRM for field sales teams. It combines account and contact management, Twilio calling and SMS, email, GPS and maps, appointments and tasks, sales opportunities, reporting, gamification, and admin tooling. The web app works alongside CallProof Android and iOS apps.

  • Core stack Python 3.12 Django 5.2.3 PostgreSQL via psycopg2-binary 2.9.10 Apache2 with mod-wsgi 5.0.2 Static and media under callproof-static No package.json or Pipfile — frontend libraries are vendored under callproof-static or loaded from CDN

Architecture

  • Application shape Flat Django project with many domain apps mounted from the root URL config. Typical apps include contacts, caller, calls, phone_numbers, sms, em, mail, funnel, report, appointments, followups, map, route, markets, region, event_forms, dash, stats, users, billing, tools, api, and others. Shared libraries live in helper and cplib.
  • Multi-tenancy Tenant boundary is Company. Authenticated users have a UserProfile linked to a company. GetCompany middleware attaches user_profile, company, manager flags, and related context to each request. Feature flags on Company control Twilio, People Tab, 2FA, AI, beacons, login limits, and more. Data is intended to be company-scoped.
  • Request lifecycle SameSite cookie middleware SecurityMiddleware SessionMiddleware CommonMiddleware CsrfViewMiddleware AuthenticationMiddleware MessageMiddleware XFrameOptionsMiddleware ViewName GetCompany TimezoneMiddleware APILogMiddleware AjaxRequestMiddleware Then the view, services, ORM, and template or JSON response
  • UI architecture Current production UI is V1: Django templates, Bootstrap, jQuery, and page-level JavaScript under callproof-static.
  • Menu system Menus are database-driven. Hierarchy is Menu, MenuCol, MenuRow, and NewUIMenuURL, with optional company customizations. HomeMenuView builds JSON for the sidebar. Items can be gated by manager, tools, dealer, Twilio, and other company or user flags.
  • Background processing Async work uses AWS SQS handlers under cplib/sqs for jobs such as email and IMAP-related processing. There is no Celery or RQ in requirements. Scheduled exports and report pipelines run through export and schedule models and related processors. Deploy environments may supply SQS settings outside the checked-in settings defaults.

Key features

  • CRM Accounts and contacts, people under accounts when People Tab is on, companies, phones, account types, custom fields, labels, titles, duplicates, business cards, imports and exports
  • Calling and voice Twilio soft calls, call history, phone number provisioning, Caller ID verification, call results, call overrides, recorded messages, after-call Event Forms
  • Messaging Twilio SMS, Auto Text for missed calls, broadcast messaging where enabled
  • Email Linked Gmail, Office 365, and IMAP accounts under em CallProof system report mail under mail SendGrid outbound delivery Mailchimp list integration
  • Sales Opportunities board, stages, types, opportunity fields, opportunity reports, goals
  • Field and location Google Places lead finding, routes, markets, regions, stores, places categories, beacons, clock in and out
  • Scheduling Appointments and visits, tasks and follow-ups, Google and Office calendar sync
  • Forms and integrations Event Forms, Wufoo webhooks, API access for external systems
  • Reporting and stats Events, activity and productivity stats, notes report, custom and manual reports, rankings, My Exports
  • Gamification Points, event points, badges, ranks, hustle
  • Admin and billing Company directory and user settings, Tools admin, ChargeOver billing, Authorize.net

Technology stack

  • Backend Django 5.2.3, Python 3.12, PostgreSQL, mod-wsgi
  • Integrations Twilio for voice and SMS SendGrid for outbound email Mailchimp for marketing lists Google APIs for auth, calendar, and Maps or Places HERE Maps keys for geocoding where used AWS S3, KMS, SQS, and CodeDeploy Firebase for push notifications Duo SAML SSO via python3-saml OAuth for Google, Microsoft, and Apple sign-in ChargeOver and Authorize.net for billing Gryphon for DNC where enabled Rev.ai or related ML endpoints for transcription where configured
  • Frontend Bootstrap jQuery 3.7.1 Twilio.js Firebase JS Highcharts flatpickr Choices.js CryptoJS Dexie Sortable sorl-thumbnail for image thumbnails

Security mechanisms

  • Authentication and access Django auth.User plus UserProfile Complex password rules cp_login_required for login and active company checks manager_required and other resource decorators Optional single-browser login limit per company Optional company 2FA with pyotp Menu-level and permission-flag gating for features such as SMS, call history, and phone numbers
  • Session and CSRF Django sessions CSRF middleware and trusted origins SameSite cookie handling, with special behavior on mobile /m/ paths X-Frame-Options middleware
  • SSO and social login SAML 2.0 with Duo IdP for enterprise SSO, including ACS, metadata, and single logout Google, Microsoft, and Apple OAuth paths
  • Encryption and secrets AES encryption for sensitive email credentials and API-related secrets Client-side CryptoJS for some localStorage values AWS KMS for protected S3 objects where configured Environment-based secrets via dotenv
  • API security API key and secret authentication Role-style API access models API request logging with payload sanitization
  • Operational security Login failure throttling via cache Account disabled and suspended company checks Impersonation support through session old_user_id for support or admin flows reCAPTCHA support where configured
  • Performance optimizations Django cache used for login attempts, filter options, and selected lookups. Default cache is LocMem unless production overrides it. Shared Redis is not configured in the checked-in settings. PaginationMixin with configurable rows per page across list screens AJAX partial HTML and JSON responses to avoid full page reloads ORM use of select_related, prefetch_related, and only where implemented sorl-thumbnail for resized images such as logos and avatars Session-stored filter state for heavy list screens Specialized static routes for recordings, greetings, and user files
  • Scalability Company-based multi-tenancy supports many isolated customers on one application Apache and mod-wsgi multi-process hosting AWS S3 for media, files, and email mailbox storage AWS SQS for asynchronous workers Twilio for telephony and SMS capacity Firebase for push delivery to mobile and web clients Background export and scheduled report pipelines so large jobs do not block the request thread Multiple deploy environments such as apptest, staging, UAT, and production via CodeDeploy
  • Notable implementation details Thin views with service and utility layers in helper, cplib, and app services Mostly class-based views, with some function-based views and decorators still in use Soft deletes and hide flags on many domain models People Tab switches Contacts vs Accounts wording and enables personnel and Roles CallProof Voice section appears only when company Twilio is enabled System.
  • Deployment and operations Deployed with Apache and mod-wsgi Assets served from callproof-static Media and specialized recording paths under configured static or media URLs Environment variables drive database, Twilio, SendGrid, AWS, OAuth, SAML, maps, and billing configuration CodeDeploy supports multiple environments
  • Summary CallProof New Web is a Django 5.2 and Python 3.12 multi-tenant field-sales CRM on PostgreSQL. It integrates Twilio, SendGrid, Google and Microsoft services, AWS, Firebase, and Duo SAML. Security centers on company-scoped access, CSRF, optional 2FA, encrypted secrets, and SSO. Performance and scale rely on pagination, AJAX partials, caching, S3, SQS workers, and background exports.

More Info: New Website

Mobile App

The Callproof mobile app is a companion app for reps in the fields. It allows users to view and update contacts, schedule appointments and followups, check into appointments, add notes, and much more.

Callproof Mobile App Homepage

More Info: Mobile App



Google Calendar Integration

Callproof can be integrated with Google Calendar to keep track of appointments and followups.

More Info: Google Calendar Integration

CallProof Mobile App Calendar Page

CallProof Routing

Users can now plan and optimize routes on the mobile app.

More Info: Routing on the Mobile App

CallProof Mobile App Routes Page